审批拒绝原因
This commit is contained in:
parent
7cc838a335
commit
46a39df0e6
@ -127,7 +127,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
|
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 计算相差天数(只计算工作日:周一到周五)
|
* 计算相差天数(只计算工作日:周一到周五,包括两边)
|
||||||
*/
|
*/
|
||||||
public static int calWorkDate(Date date1, Date date2) {
|
public static int calWorkDate(Date date1, Date date2) {
|
||||||
LocalDate startDate = date1.toInstant()
|
LocalDate startDate = date1.toInstant()
|
||||||
@ -138,7 +138,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (startDate.isBefore(endDate)) {
|
while (!startDate.isAfter(endDate)) {
|
||||||
if (!startDate.getDayOfWeek().equals(DayOfWeek.SATURDAY)
|
if (!startDate.getDayOfWeek().equals(DayOfWeek.SATURDAY)
|
||||||
&& !startDate.getDayOfWeek().equals(DayOfWeek.SUNDAY)) {
|
&& !startDate.getDayOfWeek().equals(DayOfWeek.SUNDAY)) {
|
||||||
i++;
|
i++;
|
||||||
|
@ -4,6 +4,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.pusong.business.domain.bo.PsContractInfoQueryBo;
|
import com.pusong.business.domain.bo.PsContractInfoQueryBo;
|
||||||
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
||||||
|
import com.pusong.business.domain.vo.ServiceScheduleVo;
|
||||||
import com.pusong.business.service.IPsContractBusinessService;
|
import com.pusong.business.service.IPsContractBusinessService;
|
||||||
import com.pusong.common.core.validate.QueryGroup;
|
import com.pusong.common.core.validate.QueryGroup;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -185,9 +186,8 @@ public class PsContractInfoController extends BaseController {
|
|||||||
@Log(title = "免费派单")
|
@Log(title = "免费派单")
|
||||||
@SaCheckPermission("business:task:list")
|
@SaCheckPermission("business:task:list")
|
||||||
@GetMapping("/queryScheduleByCode")
|
@GetMapping("/queryScheduleByCode")
|
||||||
public R<Void> queryScheduleByCode(@NotNull String contractCode) {
|
public R<ServiceScheduleVo> queryScheduleByCode(@NotNull String contractCode) {
|
||||||
psContractInfoService.queryScheduleByCode(contractCode);
|
return R.ok(psContractInfoService.queryScheduleByCode(contractCode));
|
||||||
return R.ok();
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// /**
|
// /**
|
||||||
|
@ -60,17 +60,20 @@ public class PsContractPayController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退款列表查询
|
* 退款列表查询
|
||||||
|
* @param customManageName 客户经理
|
||||||
|
* @param companyName 公司名
|
||||||
|
* @param mobile 电话
|
||||||
|
* @param name 客户名
|
||||||
* @param payStatus 支付状态
|
* @param payStatus 支付状态
|
||||||
* @param pageQuery
|
* @param pageQuery
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("business:contractPay:query")
|
@SaCheckPermission("business:contractPay:query")
|
||||||
@GetMapping("/queryRefundList")
|
@GetMapping("/queryRefundList")
|
||||||
public TableDataInfo<PsRefundVo> queryRefundList( String payStatus,PageQuery pageQuery) {
|
public TableDataInfo<PsRefundVo> queryRefundList(String customManageName,String companyName,String mobile,String name, String payStatus,PageQuery pageQuery) {
|
||||||
return psContractPayService.queryRefundList(pageQuery,payStatus);
|
return psContractPayService.queryRefundList(customManageName,companyName,mobile,name,pageQuery,payStatus);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 完成退款
|
* 完成退款
|
||||||
|
@ -4,6 +4,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import com.pusong.business.domain.bo.PsCustomCallbackBo;
|
import com.pusong.business.domain.bo.PsCustomCallbackBo;
|
||||||
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.vo.PsCustomerRecordVo;
|
import com.pusong.business.domain.vo.PsCustomerRecordVo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
@ -116,18 +117,15 @@ public class PsCustomController extends BaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户档案
|
* 客户档案
|
||||||
* @param type 类型 1客户档案 2已完成客户
|
* @param queryBo 查询
|
||||||
* @param name 客户名
|
|
||||||
* @param mobile 客户电话
|
|
||||||
* @param companyName 公司名
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@SaCheckPermission("business:customInfo:record")
|
@SaCheckPermission("business:customInfo:record")
|
||||||
@Log(title = "客户档案" )
|
@Log(title = "客户档案" )
|
||||||
@GetMapping("/record")
|
@GetMapping("/record")
|
||||||
public TableDataInfo<PsCustomerRecordVo> record(@RequestParam(required = false) Long id,Integer type, String name, String mobile, String companyName, PageQuery pageQuery) {
|
public TableDataInfo<PsCustomerRecordVo> record(PsCustomRecordQueryBo queryBo, PageQuery pageQuery) {
|
||||||
return psCustomInfoService.getCustomerRecordList(id,type,name,mobile,companyName,pageQuery);
|
return psCustomInfoService.getCustomerRecordList(queryBo,pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ public class PsApproverRecord extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,7 @@ public class PsCompanyInfo extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 公司ID
|
* 公司ID
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
/**
|
/**
|
||||||
* 客户id
|
* 客户id
|
||||||
|
@ -26,7 +26,7 @@ public class PsContractBusiness extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +25,7 @@ public class PsContractBusinessDetail extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,7 +28,7 @@ public class PsContractInfo extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 合同id
|
* 合同id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,7 +27,7 @@ public class PsContractPay extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,7 @@ public class PsSalary extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +25,7 @@ public class PsSalaryConfig extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,7 +24,7 @@ public class PsTaskAppoint extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,7 @@ public class PsTaskMain extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
/**
|
/**
|
||||||
* 公司id
|
* 公司id
|
||||||
|
@ -24,7 +24,7 @@ public class PsTaskMedia extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,7 +26,7 @@ public class PsTaskWorkRecord extends TenantEntity {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id",type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -79,4 +79,17 @@ public class PsApproverRecordBo {
|
|||||||
@NotBlank(message = "修改前数据")
|
@NotBlank(message = "修改前数据")
|
||||||
private String updateData;
|
private String updateData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户姓名
|
||||||
|
*/
|
||||||
|
private String customerName;
|
||||||
|
/**
|
||||||
|
* 公司姓名
|
||||||
|
*/
|
||||||
|
private String companyName;
|
||||||
|
/**
|
||||||
|
* 销售经理姓名
|
||||||
|
*/
|
||||||
|
private String customerManageName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import jakarta.validation.constraints.NotNull;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -64,8 +65,23 @@ public class PsContractInfoQueryBo {
|
|||||||
* 合同状态(not in)
|
* 合同状态(not in)
|
||||||
*/
|
*/
|
||||||
private List<String> notInContractStatus;
|
private List<String> notInContractStatus;
|
||||||
|
/**
|
||||||
|
* 合同金额最小值
|
||||||
|
*/
|
||||||
|
private BigDecimal moneyStart;
|
||||||
|
/**
|
||||||
|
* 合同金额最大值
|
||||||
|
*/
|
||||||
|
private BigDecimal moneyEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务类型1托管 2非托管
|
||||||
|
*/
|
||||||
|
private Integer serviceType;
|
||||||
|
/**
|
||||||
|
* 服务项目
|
||||||
|
*/
|
||||||
|
private List<String> serviceProjects;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -71,6 +71,10 @@ public class PsCustomInfoBo {
|
|||||||
*/
|
*/
|
||||||
@NotNull(message = "公司名称")
|
@NotNull(message = "公司名称")
|
||||||
private String companyName;
|
private String companyName;
|
||||||
|
/**
|
||||||
|
* 介绍人-仅支持本司内客户
|
||||||
|
*/
|
||||||
|
private Long customIntroducer;
|
||||||
/**
|
/**
|
||||||
* 介绍人-仅支持本司内客户
|
* 介绍人-仅支持本司内客户
|
||||||
*/
|
*/
|
||||||
@ -81,6 +85,10 @@ public class PsCustomInfoBo {
|
|||||||
* 颜色
|
* 颜色
|
||||||
*/
|
*/
|
||||||
private String color;
|
private String color;
|
||||||
|
/**
|
||||||
|
* 是否已生成合同(1是0否)
|
||||||
|
*/
|
||||||
|
private Integer haveContract;
|
||||||
/**
|
/**
|
||||||
* 客户状态包含
|
* 客户状态包含
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,65 @@
|
|||||||
|
package com.pusong.business.domain.bo;
|
||||||
|
|
||||||
|
import com.pusong.business.domain.PsCustomInfo;
|
||||||
|
import com.pusong.common.core.validate.AddGroup;
|
||||||
|
import com.pusong.common.core.validate.EditGroup;
|
||||||
|
import com.pusong.common.core.validate.QueryGroup;
|
||||||
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户基本信息业务对象 ps_custom_info
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
* @date 2024-07-25
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode
|
||||||
|
@AutoMapper(target = PsCustomInfo.class)
|
||||||
|
public class PsCustomRecordQueryBo {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 类型 1客户档案 2已完成客户
|
||||||
|
*/
|
||||||
|
@NotNull(message = "类型不能为空", groups = { QueryGroup.class })
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 客户名称
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
/**
|
||||||
|
* 客户电话客户电话(多个用英文逗号分割)
|
||||||
|
*/
|
||||||
|
private String mobile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公司名称
|
||||||
|
*/
|
||||||
|
private String companyName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 法人名称
|
||||||
|
*/
|
||||||
|
private String legalPersonName;
|
||||||
|
/**
|
||||||
|
* 账套号
|
||||||
|
*/
|
||||||
|
private String financeAccountNo;
|
||||||
|
/**
|
||||||
|
* 1 托管 2 非托管
|
||||||
|
*/
|
||||||
|
private Integer serviceType;
|
||||||
|
/**
|
||||||
|
* 服务项目(可多选)
|
||||||
|
*/
|
||||||
|
private List<String> serviceProjects;
|
||||||
|
}
|
@ -74,6 +74,10 @@ public class PsContractInfoVo implements Serializable {
|
|||||||
* 合同状态
|
* 合同状态
|
||||||
*/
|
*/
|
||||||
private String contractStatus;
|
private String contractStatus;
|
||||||
|
/**
|
||||||
|
* 合同状态审批失败描述
|
||||||
|
*/
|
||||||
|
private String contractStatusDesc;
|
||||||
/**
|
/**
|
||||||
* 合同状态名
|
* 合同状态名
|
||||||
*/
|
*/
|
||||||
@ -151,6 +155,10 @@ public class PsContractInfoVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL,other = "contract_type")
|
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL,other = "contract_type")
|
||||||
private String businessTypeName;
|
private String businessTypeName;
|
||||||
|
/**
|
||||||
|
* 合同回传状态失败原因
|
||||||
|
*/
|
||||||
|
private String rollBackFailDesc;
|
||||||
/**
|
/**
|
||||||
* 合同回传状态0未回传1已回传
|
* 合同回传状态0未回传1已回传
|
||||||
*/
|
*/
|
||||||
@ -164,6 +172,10 @@ public class PsContractInfoVo implements Serializable {
|
|||||||
* 合同签章状态CommonStatusEnum
|
* 合同签章状态CommonStatusEnum
|
||||||
*/
|
*/
|
||||||
private String signStatus;
|
private String signStatus;
|
||||||
|
/**
|
||||||
|
* 合同签章失败原因
|
||||||
|
*/
|
||||||
|
private String signFailDesc;
|
||||||
/**
|
/**
|
||||||
* 是否老账新接
|
* 是否老账新接
|
||||||
*/
|
*/
|
||||||
@ -213,5 +225,8 @@ public class PsContractInfoVo implements Serializable {
|
|||||||
* 确认单
|
* 确认单
|
||||||
*/
|
*/
|
||||||
private Long confirmOssid;
|
private Long confirmOssid;
|
||||||
|
/**
|
||||||
|
* 原合同编码(续费合同使用)
|
||||||
|
*/
|
||||||
|
private String srcContractCode;
|
||||||
}
|
}
|
||||||
|
@ -94,10 +94,18 @@ public class PsContractPayVo implements Serializable {
|
|||||||
* 支付状态 PayStatusEnum
|
* 支付状态 PayStatusEnum
|
||||||
*/
|
*/
|
||||||
private String payStatus;
|
private String payStatus;
|
||||||
|
/**
|
||||||
|
* 支付状态 审批失败描述
|
||||||
|
*/
|
||||||
|
private String payStatusDesc;
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
|
private Long createBy;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -165,6 +165,10 @@ public class PsCustomInfoVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private int numOfDat;
|
private int numOfDat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公海认领审批失败描述
|
||||||
|
*/
|
||||||
|
private String publicDesc;
|
||||||
/**
|
/**
|
||||||
* 报价金额DTO
|
* 报价金额DTO
|
||||||
*/
|
*/
|
||||||
|
@ -151,4 +151,8 @@ public class PsCustomerRecordVo implements Serializable {
|
|||||||
* 介绍人
|
* 介绍人
|
||||||
*/
|
*/
|
||||||
private String customIntroducer;
|
private String customIntroducer;
|
||||||
|
/**
|
||||||
|
* 免费工单审批失败描述
|
||||||
|
*/
|
||||||
|
private String freeFailDesc;
|
||||||
}
|
}
|
||||||
|
@ -71,6 +71,10 @@ public class PsTaskMainVo implements Serializable {
|
|||||||
* 主任务状态
|
* 主任务状态
|
||||||
*/
|
*/
|
||||||
private String taskStatus;
|
private String taskStatus;
|
||||||
|
/**
|
||||||
|
* 主任务状态
|
||||||
|
*/
|
||||||
|
private String taskStatusDesc;
|
||||||
/**
|
/**
|
||||||
* 子任务状态
|
* 子任务状态
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,76 @@
|
|||||||
|
package com.pusong.business.domain.vo;
|
||||||
|
|
||||||
|
import com.pusong.common.translation.annotation.Translation;
|
||||||
|
import com.pusong.common.translation.constant.TransConstant;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ServiceScheduleVo {
|
||||||
|
/**
|
||||||
|
* 被分配者
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long allot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成合同
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long createContract;
|
||||||
|
/**
|
||||||
|
* 第一笔回款
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long firstPay;
|
||||||
|
/**
|
||||||
|
* 派单者
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long appoint;
|
||||||
|
/**
|
||||||
|
* 内勤
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long in;
|
||||||
|
/**
|
||||||
|
* 内勤是否已完成(1是0否)
|
||||||
|
*/
|
||||||
|
private Integer inStatus;
|
||||||
|
/**
|
||||||
|
* 外勤
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long out;
|
||||||
|
/**
|
||||||
|
* 外勤是否已完成(1是0否)
|
||||||
|
*/
|
||||||
|
private Integer outStatus;
|
||||||
|
/**
|
||||||
|
* 特勤
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long secret;
|
||||||
|
/**
|
||||||
|
* 特勤是否已完成(1是0否)
|
||||||
|
*/
|
||||||
|
private Integer secretStatus;
|
||||||
|
/**
|
||||||
|
* 回传
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long rollBack;
|
||||||
|
/**
|
||||||
|
* 最后一笔回款收款者
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long payee;
|
||||||
|
/**
|
||||||
|
* 最后一笔回款审批者
|
||||||
|
*/
|
||||||
|
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||||
|
private Long approve;
|
||||||
|
/**
|
||||||
|
* 是否已完成(1是 0否)
|
||||||
|
*/
|
||||||
|
private Integer isFinish;
|
||||||
|
}
|
@ -49,6 +49,12 @@ public interface IPsApproverRecordService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
String approver(String operate, Long id,String desc);
|
String approver(String operate, Long id,String desc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询最后一条审批失败的原因
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String getLastFail(String businessId,String contractCode,List<String> businessTypes);
|
||||||
//
|
//
|
||||||
// /**
|
// /**
|
||||||
// * 新增审批记录
|
// * 新增审批记录
|
||||||
|
@ -4,6 +4,7 @@ import com.pusong.business.domain.PsContractInfo;
|
|||||||
import com.pusong.business.domain.bo.PsContractInfoQueryBo;
|
import com.pusong.business.domain.bo.PsContractInfoQueryBo;
|
||||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||||
import com.pusong.business.domain.bo.PsContractInfoBo;
|
import com.pusong.business.domain.bo.PsContractInfoBo;
|
||||||
|
import com.pusong.business.domain.vo.ServiceScheduleVo;
|
||||||
import com.pusong.business.enums.ContractStatusEnum;
|
import com.pusong.business.enums.ContractStatusEnum;
|
||||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||||
@ -43,7 +44,7 @@ public interface IPsContractInfoService {
|
|||||||
*/
|
*/
|
||||||
PsContractInfoVo queryInfoByCustomId(Long customerId);
|
PsContractInfoVo queryInfoByCustomId(Long customerId);
|
||||||
|
|
||||||
List<PsContractInfo> queryByCode(Long customId, String code, ContractStatusEnum enu);
|
List<PsContractInfo> queryByCode(Long customId, String code, String status);
|
||||||
/**
|
/**
|
||||||
* 分页查询合同基本信息列表
|
* 分页查询合同基本信息列表
|
||||||
*
|
*
|
||||||
@ -122,7 +123,7 @@ public interface IPsContractInfoService {
|
|||||||
* 根据合同编码查询服务进度
|
* 根据合同编码查询服务进度
|
||||||
* @param contractCode 合同编码
|
* @param contractCode 合同编码
|
||||||
*/
|
*/
|
||||||
void queryScheduleByCode(String contractCode);
|
ServiceScheduleVo queryScheduleByCode(String contractCode);
|
||||||
/**
|
/**
|
||||||
* 查询符合条件的合同基本信息列表
|
* 查询符合条件的合同基本信息列表
|
||||||
*
|
*
|
||||||
|
@ -75,7 +75,7 @@ public interface IPsContractPayService {
|
|||||||
*
|
*
|
||||||
* @return 合同回款记录列表
|
* @return 合同回款记录列表
|
||||||
*/
|
*/
|
||||||
TableDataInfo<PsRefundVo> queryRefundList(PageQuery pageQuery,String payStatus);
|
TableDataInfo<PsRefundVo> queryRefundList(String customManageName,String companyName,String mobile,String name, PageQuery pageQuery,String payStatus);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 完成退款
|
* 完成退款
|
||||||
|
@ -4,6 +4,7 @@ import com.pusong.business.domain.PsCustomCallback;
|
|||||||
import com.pusong.business.domain.PsCustomInfo;
|
import com.pusong.business.domain.PsCustomInfo;
|
||||||
import com.pusong.business.domain.bo.PsCustomCallbackBo;
|
import com.pusong.business.domain.bo.PsCustomCallbackBo;
|
||||||
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.vo.PsCustomInfoVo;
|
import com.pusong.business.domain.vo.PsCustomInfoVo;
|
||||||
import com.pusong.business.domain.bo.PsCustomInfoBo;
|
import com.pusong.business.domain.bo.PsCustomInfoBo;
|
||||||
import com.pusong.business.domain.vo.PsCustomerRecordVo;
|
import com.pusong.business.domain.vo.PsCustomerRecordVo;
|
||||||
@ -92,12 +93,10 @@ public interface IPsCustomInfoService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户档案查询列表
|
* 客户档案查询列表
|
||||||
* @param name
|
* @param queryBo
|
||||||
* @param mobile
|
|
||||||
* @param companyName
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(Long id,Integer type,String name, String mobile, String companyName, PageQuery pageQuery);
|
TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(PsCustomRecordQueryBo queryBo, PageQuery pageQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 移除黑名单
|
* 移除黑名单
|
||||||
|
@ -58,7 +58,7 @@ public interface IPsTaskService {
|
|||||||
*/
|
*/
|
||||||
PsTaskMainVo queryInfo(String id);
|
PsTaskMainVo queryInfo(String id);
|
||||||
/**
|
/**
|
||||||
* 根据合同编码查询任务
|
* 根据合同编码查询合同主任务
|
||||||
*
|
*
|
||||||
* @param contractCode 合同编码
|
* @param contractCode 合同编码
|
||||||
* @return
|
* @return
|
||||||
|
@ -51,9 +51,11 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
|||||||
* @param updateData
|
* @param updateData
|
||||||
*/
|
*/
|
||||||
public void apply(String bussinessId,String contractCode, String desc, String updateData){
|
public void apply(String bussinessId,String contractCode, String desc, String updateData){
|
||||||
//退款审批时用 合同编号进行查询校验
|
//退款,回款审批时用 合同编号进行查询校验
|
||||||
List<PsApproverRecord> list = approverRecordMapper.selectList(Wrappers.<PsApproverRecord>lambdaQuery().eq(PsApproverRecord::getDelFlag, "0")
|
List<PsApproverRecord> list = approverRecordMapper.selectList(Wrappers.<PsApproverRecord>lambdaQuery().eq(PsApproverRecord::getDelFlag, "0")
|
||||||
.eq(PsApproverRecord::getBusinessId, StringUtils.equals(approverType(),ApproverTypeEnum.RETURN.getCode())?contractCode:bussinessId)
|
.eq(PsApproverRecord::getBusinessId,
|
||||||
|
StringUtils.equals(approverType(),ApproverTypeEnum.RETURN.getCode()) || StringUtils.equals(approverType(),ApproverTypeEnum.PAY.getCode())
|
||||||
|
?contractCode:bussinessId)
|
||||||
.eq(PsApproverRecord::getBusinessType,approverType())
|
.eq(PsApproverRecord::getBusinessType,approverType())
|
||||||
.eq(PsApproverRecord::getApproverStatus, ApproverStatusEnum.INIT.getCode()));
|
.eq(PsApproverRecord::getApproverStatus, ApproverStatusEnum.INIT.getCode()));
|
||||||
if(CollectionUtils.isNotEmpty(list)){
|
if(CollectionUtils.isNotEmpty(list)){
|
||||||
@ -86,6 +88,11 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
|||||||
QueryWrapper<PsApproverRecord> lqw = Wrappers.<PsApproverRecord>query().eq("app.business_type",approverType())
|
QueryWrapper<PsApproverRecord> lqw = Wrappers.<PsApproverRecord>query().eq("app.business_type",approverType())
|
||||||
.eq(bo.getId()!=null,"app.id",bo.getId())
|
.eq(bo.getId()!=null,"app.id",bo.getId())
|
||||||
.eq("app.del_flag","0")
|
.eq("app.del_flag","0")
|
||||||
|
.eq(StringUtils.isNotBlank(bo.getApproverStatus()),"app.approver_status",bo.getApproverStatus())
|
||||||
|
.eq(StringUtils.isNotBlank(bo.getCustomerName()),"cus.custom_name",bo.getCustomerName())
|
||||||
|
.eq(StringUtils.isNotBlank(bo.getCompanyName()),"com.company_name",bo.getCompanyName())
|
||||||
|
//销售经理姓名
|
||||||
|
.exists(StringUtils.isNotBlank(bo.getCustomerManageName()),"select 1 from sys_user su where su.user_id = cus.custom_manager and su.nick_name like %"+bo.getCustomerManageName()+"%")
|
||||||
.orderByAsc("app.approver_status").orderByAsc("app.approver_date");
|
.orderByAsc("app.approver_status").orderByAsc("app.approver_date");
|
||||||
Page<PsApproverRecordVo> res = recordMapper.selectPageApproverList(pageQuery.build(), lqw);
|
Page<PsApproverRecordVo> res = recordMapper.selectPageApproverList(pageQuery.build(), lqw);
|
||||||
if(CollectionUtils.isNotEmpty(res.getRecords())){
|
if(CollectionUtils.isNotEmpty(res.getRecords())){
|
||||||
@ -94,7 +101,7 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
|||||||
//装填回款周期
|
//装填回款周期
|
||||||
List<PsContractPayVo> payList = queryListByContractCode(item.getBusinessId(),"1", PayStatusEnum.SUCCESS);
|
List<PsContractPayVo> payList = queryListByContractCode(item.getBusinessId(),"1", PayStatusEnum.SUCCESS);
|
||||||
if(CollectionUtils.isNotEmpty(payList)){
|
if(CollectionUtils.isNotEmpty(payList)){
|
||||||
item.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()) + 1);
|
item.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.pusong.business.service.impl;
|
package com.pusong.business.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.pusong.business.enums.ApproverStatusEnum;
|
import com.pusong.business.enums.ApproverStatusEnum;
|
||||||
import com.pusong.business.enums.ApproverTypeEnum;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
import com.pusong.business.enums.TaskStatusEnum;
|
import com.pusong.business.enums.TaskStatusEnum;
|
||||||
@ -22,10 +23,7 @@ import com.pusong.business.mapper.PsApproverRecordMapper;
|
|||||||
import com.pusong.business.service.IPsApproverRecordService;
|
import com.pusong.business.service.IPsApproverRecordService;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审批记录Service业务层处理
|
* 审批记录Service业务层处理
|
||||||
@ -121,6 +119,20 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条件查询最后一条审批失败的原因
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getLastFail(String businessId,String contractCode,List<String> businessTypes){
|
||||||
|
PsApproverRecord record = baseMapper.selectOne(Wrappers.<PsApproverRecord>lambdaQuery()
|
||||||
|
.eq(StringUtils.isNotBlank(businessId), PsApproverRecord::getBusinessId, businessId)
|
||||||
|
.eq(StringUtils.isNotBlank(contractCode), PsApproverRecord::getContractCode, contractCode)
|
||||||
|
.in(CollectionUtils.isNotEmpty(businessTypes), PsApproverRecord::getBusinessType, businessTypes)
|
||||||
|
.orderByDesc(PsApproverRecord::getApplyDate));
|
||||||
|
return record!=null&&StringUtils.equals(ApproverStatusEnum.FAIL.getCode(),record.getApproverStatus())
|
||||||
|
?record.getApproverDesc():null;
|
||||||
|
}
|
||||||
// /**
|
// /**
|
||||||
// * 新增审批记录
|
// * 新增审批记录
|
||||||
// *
|
// *
|
||||||
|
@ -7,7 +7,9 @@ import com.pusong.business.domain.*;
|
|||||||
import com.pusong.business.domain.bo.*;
|
import com.pusong.business.domain.bo.*;
|
||||||
import com.pusong.business.domain.vo.*;
|
import com.pusong.business.domain.vo.*;
|
||||||
import com.pusong.business.enums.*;
|
import com.pusong.business.enums.*;
|
||||||
|
import com.pusong.business.enums.TaskStatusEnum.*;
|
||||||
import com.pusong.business.mapper.PsContractBusinessMapper;
|
import com.pusong.business.mapper.PsContractBusinessMapper;
|
||||||
|
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||||
import com.pusong.business.mapper.PsTaskMainMapper;
|
import com.pusong.business.mapper.PsTaskMainMapper;
|
||||||
import com.pusong.business.service.*;
|
import com.pusong.business.service.*;
|
||||||
import com.pusong.business.service.approver.ApproverContainer;
|
import com.pusong.business.service.approver.ApproverContainer;
|
||||||
@ -73,8 +75,11 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
|
|
||||||
private final IPsTaskService taskMainService;
|
private final IPsTaskService taskMainService;
|
||||||
private final PsTaskMainMapper taskMainMapper;
|
private final PsTaskMainMapper taskMainMapper;
|
||||||
|
private final PsTaskAppointMapper taskAppointMapper;
|
||||||
|
|
||||||
private final ISysDictDataService dictDataService;
|
private final ISysDictDataService dictDataService;
|
||||||
|
private final IPsApproverRecordService approverRecordService;
|
||||||
|
|
||||||
public static String getContractCode(){
|
public static String getContractCode(){
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
int randomNumber = random.nextInt(8999) + 1000;
|
int randomNumber = random.nextInt(8999) + 1000;
|
||||||
@ -191,14 +196,14 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
* @param code 合同编码
|
* @param code 合同编码
|
||||||
* @return 合同基本信息
|
* @return 合同基本信息
|
||||||
*/
|
*/
|
||||||
public List<PsContractInfo> queryByCode(Long customId,String code,ContractStatusEnum enu){
|
public List<PsContractInfo> queryByCode(Long customId,String code,String status){
|
||||||
if(customId == null && StringUtils.isBlank(code)){
|
if(customId == null && StringUtils.isBlank(code)){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return baseMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery().eq(PsContractInfo::getDelFlag,"0")
|
return baseMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery().eq(PsContractInfo::getDelFlag,"0")
|
||||||
.eq(StringUtils.isNotBlank(code),PsContractInfo::getContractCode,code)
|
.eq(StringUtils.isNotBlank(code),PsContractInfo::getContractCode,code)
|
||||||
.eq(customId != null,PsContractInfo::getCustomId,customId)
|
.eq(customId != null,PsContractInfo::getCustomId,customId)
|
||||||
.eq(enu != null ,PsContractInfo::getContractStatus,enu.getCode()));
|
.eq(StringUtils.isNotBlank(status) ,PsContractInfo::getContractStatus,status));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -481,8 +486,70 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
* 根据合同编码查询服务进度
|
* 根据合同编码查询服务进度
|
||||||
* @param contractCode 合同编码
|
* @param contractCode 合同编码
|
||||||
*/
|
*/
|
||||||
public void queryScheduleByCode(String contractCode){
|
public ServiceScheduleVo queryScheduleByCode(String contractCode){
|
||||||
|
PsContractInfo contractInfo = this.queryByCode(null, contractCode, null).get(0);
|
||||||
|
PsCustomInfo customer = customInfoService.listById(contractInfo.getCustomId());
|
||||||
|
|
||||||
|
ServiceScheduleVo serviceScheduleVo = new ServiceScheduleVo();
|
||||||
|
//分配
|
||||||
|
serviceScheduleVo.setAllot(customer.getCustomManager());
|
||||||
|
//生成合同
|
||||||
|
serviceScheduleVo.setCreateContract(customer.getCustomManager());
|
||||||
|
//支付金额
|
||||||
|
PsContractInfoVo vo = new PsContractInfoVo();
|
||||||
|
vo.setContractCode(contractCode);
|
||||||
|
this.fillMoney(vo);
|
||||||
|
List<PsContractPayVo> payVoList = vo.getContractPayVoList().stream()
|
||||||
|
.filter(item -> StringUtils.equals("1", item.getBusinessType())).toList();
|
||||||
|
//第一笔回款
|
||||||
|
serviceScheduleVo.setFirstPay(CollectionUtils.isNotEmpty(payVoList)?payVoList.get(0).getCreateBy():null);
|
||||||
|
|
||||||
|
PsTaskMain task = taskMainService.queryByContractCode(contractCode);
|
||||||
|
List<PsTaskAppoint> appointList = new ArrayList<>();
|
||||||
|
if(task!=null){
|
||||||
|
appointList = taskAppointMapper.selectList(Wrappers.<PsTaskAppoint>lambdaQuery()
|
||||||
|
.eq(PsTaskAppoint::getContractCode, contractCode)
|
||||||
|
.eq(PsTaskAppoint::getTaskId, task.getId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
//派单者
|
||||||
|
serviceScheduleVo.setAppoint(task == null?null:task.getOperateUser());
|
||||||
|
if(CollectionUtils.isNotEmpty(appointList)){
|
||||||
|
appointList.forEach(item->{
|
||||||
|
if(StringUtils.equals("1",item.getAppointType())){
|
||||||
|
//内勤
|
||||||
|
serviceScheduleVo.setIn(item.getExecutor());
|
||||||
|
//内勤
|
||||||
|
serviceScheduleVo.setInStatus(StringUtils.equals(AppointStatusEnum.FINISH.getCode(),item.getAppointStatus())?1:0);
|
||||||
|
}else if(StringUtils.equals("2",item.getAppointType())){
|
||||||
|
//外勤
|
||||||
|
serviceScheduleVo.setOut(item.getExecutor());
|
||||||
|
//外勤
|
||||||
|
serviceScheduleVo.setOutStatus(StringUtils.equals(AppointStatusEnum.FINISH.getCode(),item.getAppointStatus())?1:0);
|
||||||
|
}else{
|
||||||
|
//特勤
|
||||||
|
serviceScheduleVo.setSecret(item.getExecutor());
|
||||||
|
//特勤
|
||||||
|
serviceScheduleVo.setSecretStatus(StringUtils.equals(AppointStatusEnum.FINISH.getCode(),item.getAppointStatus())?1:0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//回传
|
||||||
|
serviceScheduleVo.setRollBack(StringUtils.equals(CommonStatusEnum.Y.getCode(),contractInfo.getRollBackStatus())?customer.getCustomManager():null);
|
||||||
|
if(vo.getResidualMoney().compareTo(BigDecimal.ZERO) <=0 && CollectionUtils.isNotEmpty(payVoList)){
|
||||||
|
PsContractPayVo pay = payVoList.get(payVoList.size() - 1);
|
||||||
|
//最后一笔回款收款者
|
||||||
|
serviceScheduleVo.setPayee(pay.getCreateBy());
|
||||||
|
PsApproverRecordBo bo = new PsApproverRecordBo();
|
||||||
|
bo.setBusinessId(pay.getId()+"");
|
||||||
|
bo.setBusinessType(ApproverTypeEnum.PAY.getCode());
|
||||||
|
List<PsApproverRecordVo> appro = approverRecordService.queryList(bo);
|
||||||
|
//最后一笔回款审批者
|
||||||
|
serviceScheduleVo.setApprove(CollectionUtils.isNotEmpty(appro)?appro.get(0).getUpdateBy():null);
|
||||||
|
}
|
||||||
|
//是否已完成(1是 0否)
|
||||||
|
serviceScheduleVo.setIsFinish(StringUtils.equals(ContractStatusEnum.SUCCESS.getCode(),contractInfo.getContractStatus())?1:0);
|
||||||
|
return serviceScheduleVo;
|
||||||
}
|
}
|
||||||
private QueryWrapper<PsContractInfo> buildQueryWrapper(PsContractInfoQueryBo bo) {
|
private QueryWrapper<PsContractInfo> buildQueryWrapper(PsContractInfoQueryBo bo) {
|
||||||
QueryWrapper<PsContractInfo> qw = Wrappers.query();
|
QueryWrapper<PsContractInfo> qw = Wrappers.query();
|
||||||
@ -511,8 +578,18 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
//托管续费合同(写死托管服务的id是2)
|
//托管续费合同(写死托管服务的id是2)
|
||||||
if(bo.getType() != null && bo.getType() == 4){
|
if(bo.getType() != null && bo.getType() == 4){
|
||||||
qw.exists("select 1 from ps_contract_business bus where info.contract_code = bus.contract_code and bus.business_type = 2");
|
qw.exists("select 1 from ps_contract_business bus where info.contract_code = bus.contract_code and bus.business_type = 2");
|
||||||
|
}else{
|
||||||
|
//托管类服务类型编码集合
|
||||||
|
qw.exists(bo.getServiceType() !=null && bo.getServiceType() == 1, "select 1 from ps_contract_business bus " +
|
||||||
|
"where bus.contract_code = info.contract_code and bus.business_type = 2");
|
||||||
|
//非托管服务类型编码集合
|
||||||
|
qw.exists(bo.getServiceType() !=null && bo.getServiceType() == 2, "select 1 from ps_contract_business bus " +
|
||||||
|
"where bus.contract_code = info.contract_code and bus.business_type != 2");
|
||||||
}
|
}
|
||||||
|
//服务项目编码集合
|
||||||
|
qw.exists(CollectionUtils.isNotEmpty(bo.getServiceProjects()), "select 1 from ps_contract_business_detail detail " +
|
||||||
|
"where detail.contract_code = info.contract_code and detail.business_project in ("+StringUtils.join(bo.getServiceProjects(),",")+")");//服务项目编码集合
|
||||||
|
qw.between(bo.getMoneyEnd() != null && bo.getMoneyStart() !=null,"info.contract_amount",bo.getMoneyStart(),bo.getMoneyEnd());
|
||||||
qw.orderByDesc("info.create_time");
|
qw.orderByDesc("info.create_time");
|
||||||
|
|
||||||
return qw;
|
return qw;
|
||||||
@ -522,6 +599,34 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
List<PsContractBusinessVo> list = businessService.selectBusinessList(List.of(vo.getContractCode()));
|
List<PsContractBusinessVo> list = businessService.selectBusinessList(List.of(vo.getContractCode()));
|
||||||
vo.setBusinessTypeName(StringUtils.join(list.stream().map(PsContractBusinessVo::getBusinessType).collect(Collectors.toList()), ","));
|
vo.setBusinessTypeName(StringUtils.join(list.stream().map(PsContractBusinessVo::getBusinessType).collect(Collectors.toList()), ","));
|
||||||
vo.setBusinessVoList(list);
|
vo.setBusinessVoList(list);
|
||||||
|
fillMoney(vo);
|
||||||
|
if(vo.getFirstApplyDate() != null){
|
||||||
|
Date date = new Date();
|
||||||
|
Date startDate = vo.getFirstApplyDate();
|
||||||
|
int year = (date.getYear() - startDate.getYear());
|
||||||
|
int month = (date.getMonth() - startDate.getMonth());
|
||||||
|
int day = (date.getDate() - startDate.getDate());
|
||||||
|
vo.setConTime((year>0?year+"年":"")+(month>0?month+"月":"")+(day>0?day+"天":"") );
|
||||||
|
}
|
||||||
|
//电子签章审批
|
||||||
|
if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getSignStatus())){
|
||||||
|
vo.setSignFailDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.SIGN.getCode())));
|
||||||
|
}
|
||||||
|
//回传合同审批
|
||||||
|
if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getRollBackStatus())){
|
||||||
|
vo.setRollBackFailDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.SIGN.getCode())));
|
||||||
|
}
|
||||||
|
//合同作废审批
|
||||||
|
if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getIsCancel())){
|
||||||
|
vo.setContractStatusDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.CANCELLA.getCode())));
|
||||||
|
}
|
||||||
|
//合同作废审批
|
||||||
|
if(StringUtils.equals(CommonStatusEnum.FAIL.getCode(),vo.getIsCancel())){
|
||||||
|
vo.setContractStatusDesc(approverRecordService.getLastFail(vo.getContractCode(),vo.getContractCode(),List.of(ApproverTypeEnum.CANCELLA.getCode())));
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
private void fillMoney(PsContractInfoVo vo){
|
||||||
//装填回款记录
|
//装填回款记录
|
||||||
List<PsContractPayVo> payList = contractPayService.queryListByContractCode(vo.getContractCode(),null,PayStatusEnum.SUCCESS);
|
List<PsContractPayVo> payList = contractPayService.queryListByContractCode(vo.getContractCode(),null,PayStatusEnum.SUCCESS);
|
||||||
vo.setContractPayVoList(payList);
|
vo.setContractPayVoList(payList);
|
||||||
@ -543,19 +648,8 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
vo.setPeriod(1);
|
vo.setPeriod(1);
|
||||||
}else{
|
}else{
|
||||||
//包含最后一天
|
//包含最后一天
|
||||||
vo.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()) + 1);
|
vo.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()));
|
||||||
}
|
}
|
||||||
if(vo.getFirstApplyDate() != null){
|
|
||||||
Date date = new Date();
|
|
||||||
Date startDate = vo.getFirstApplyDate();
|
|
||||||
int year = (date.getYear() - startDate.getYear());
|
|
||||||
int month = (date.getMonth() - startDate.getMonth());
|
|
||||||
int day = (date.getDate() - startDate.getDate());
|
|
||||||
vo.setConTime((year>0?year+"年":"")+(month>0?month+"月":"")+(day>0?day+"天":"") );
|
|
||||||
}
|
|
||||||
|
|
||||||
//todo 签章未通过时查询未通过的原因
|
|
||||||
return vo;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 数据校验并返回
|
* 数据校验并返回
|
||||||
@ -566,7 +660,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
PsContractInfo add =null;
|
PsContractInfo add =null;
|
||||||
//插入或修改合同
|
//插入或修改合同
|
||||||
log.info("校验合同查询入参:{}",bo.getCustomId());
|
log.info("校验合同查询入参:{}",bo.getCustomId());
|
||||||
List<PsContractInfo> infos = this.queryByCode(bo.getCustomId(),null,ContractStatusEnum.INIT);//todo 状态查询
|
List<PsContractInfo> infos = this.queryByCode(bo.getCustomId(),null,ContractStatusEnum.INIT.getCode());//todo 状态查询
|
||||||
log.info("校验合同查询结果:{}",infos == null?null: infos.size() );
|
log.info("校验合同查询结果:{}",infos == null?null: infos.size() );
|
||||||
//校验:暂存的合同不止一个,暂存的合同并且不是传入的合同-》报错(暂存的合同只能有一个)
|
//校验:暂存的合同不止一个,暂存的合同并且不是传入的合同-》报错(暂存的合同只能有一个)
|
||||||
if (CollectionUtils.isNotEmpty(infos) ) {
|
if (CollectionUtils.isNotEmpty(infos) ) {
|
||||||
|
@ -6,6 +6,7 @@ import com.pusong.business.domain.vo.PsRefundVo;
|
|||||||
import com.pusong.business.enums.ApproverTypeEnum;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
import com.pusong.business.enums.PayBuinessStatusEnum;
|
import com.pusong.business.enums.PayBuinessStatusEnum;
|
||||||
import com.pusong.business.enums.PayStatusEnum;
|
import com.pusong.business.enums.PayStatusEnum;
|
||||||
|
import com.pusong.business.service.IPsApproverRecordService;
|
||||||
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;
|
||||||
@ -46,6 +47,7 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
|||||||
private final ISysOssService ossService;
|
private final ISysOssService ossService;
|
||||||
@Resource
|
@Resource
|
||||||
private final ApproverContainer container;
|
private final ApproverContainer container;
|
||||||
|
private final IPsApproverRecordService approverRecordService;
|
||||||
/**
|
/**
|
||||||
* 查询合同回款记录列表
|
* 查询合同回款记录列表
|
||||||
*
|
*
|
||||||
@ -75,7 +77,15 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
|||||||
List<PsContractPayVo> list = baseMapper.selectVoList(Wrappers.<PsContractPay>lambdaQuery().
|
List<PsContractPayVo> list = baseMapper.selectVoList(Wrappers.<PsContractPay>lambdaQuery().
|
||||||
eq(PsContractPay::getContractCode, contractCode).eq(PsContractPay::getDelFlag,0)
|
eq(PsContractPay::getContractCode, contractCode).eq(PsContractPay::getDelFlag,0)
|
||||||
.orderByAsc(PsContractPay::getPayDate));
|
.orderByAsc(PsContractPay::getPayDate));
|
||||||
return list == null?new ArrayList<>():list;
|
list = list == null?new ArrayList<>():list;
|
||||||
|
list.forEach(item->{
|
||||||
|
if(StringUtils.equals("2",item.getBusinessType()) && StringUtils.equals(PayStatusEnum.PAYAPPO.getCode(),item.getPayStatus())){
|
||||||
|
item.setPayStatusDesc(approverRecordService.getLastFail(item.getId()+"",null,List.of(ApproverTypeEnum.RETURN.getCode())));
|
||||||
|
}else if(StringUtils.equals("1",item.getBusinessType()) && StringUtils.equals(PayStatusEnum.PAYING.getCode(),item.getPayStatus())){
|
||||||
|
item.setPayStatusDesc(approverRecordService.getLastFail(item.getId()+"",null,List.of(ApproverTypeEnum.PAY.getCode())));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -158,9 +168,13 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
|||||||
* @return 合同回款记录列表
|
* @return 合同回款记录列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<PsRefundVo> queryRefundList(PageQuery pageQuery,String payStatus){
|
public TableDataInfo<PsRefundVo> queryRefundList(String customManageName,String companyName,String mobile,String name,PageQuery pageQuery,String payStatus){
|
||||||
QueryWrapper<PsContractPay> qw = new QueryWrapper<PsContractPay>().in("pay.pay_status", List.of(PayStatusEnum.PAYING.getCode(),PayStatusEnum.SUCCESS.getCode()))
|
QueryWrapper<PsContractPay> qw = new QueryWrapper<PsContractPay>().in("pay.pay_status", List.of(PayStatusEnum.PAYING.getCode(),PayStatusEnum.SUCCESS.getCode()))
|
||||||
.eq(StringUtils.isNotBlank(payStatus), "pay.pay_status", payStatus);
|
.eq(StringUtils.isNotBlank(payStatus), "pay.pay_status", payStatus)
|
||||||
|
.exists(StringUtils.isNotBlank(customManageName),"select 1 from sys_user su where su.user_id = cus.custom_manager and su.nick_name like %"+customManageName+"%")
|
||||||
|
.like(StringUtils.isNotBlank(companyName),"com.company_name",companyName)
|
||||||
|
.like(StringUtils.isNotBlank(mobile),"cus.custom_mobile",mobile)
|
||||||
|
.eq(StringUtils.isNotBlank(name),"cus.custom_name",name);
|
||||||
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);
|
||||||
|
@ -16,6 +16,7 @@ import com.pusong.business.enums.CommonStatusEnum;
|
|||||||
import com.pusong.business.enums.ContractStatusEnum;
|
import com.pusong.business.enums.ContractStatusEnum;
|
||||||
import com.pusong.business.enums.CustomerStatusEnum;
|
import com.pusong.business.enums.CustomerStatusEnum;
|
||||||
import com.pusong.business.mapper.*;
|
import com.pusong.business.mapper.*;
|
||||||
|
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;
|
||||||
@ -59,6 +60,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
private final IPsCompanyInfoService companyInfoService;
|
private final IPsCompanyInfoService companyInfoService;
|
||||||
|
|
||||||
private final ApproverContainer approverContainer;
|
private final ApproverContainer approverContainer;
|
||||||
|
private final IPsApproverRecordService approverRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询客户
|
* 根据id查询客户
|
||||||
@ -179,6 +181,10 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
}
|
}
|
||||||
//任务进行天数
|
//任务进行天数
|
||||||
info.setNumOfDat(info.getStartDate() == null?0:DateUtils.calWorkDate(info.getStartDate(),new Date()));
|
info.setNumOfDat(info.getStartDate() == null?0:DateUtils.calWorkDate(info.getStartDate(),new Date()));
|
||||||
|
//公海审批失败
|
||||||
|
if(bo.getType() == 3 && StringUtils.equals(CommonStatusEnum.FAIL.getCode(),info.getCustomStatus())){
|
||||||
|
info.setPublicDesc(approverRecordService.getLastFail(info.getId()+"",null,List.of(ApproverTypeEnum.PUBLIC.getCode())));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return TableDataInfo.build(result);
|
return TableDataInfo.build(result);
|
||||||
}
|
}
|
||||||
@ -213,6 +219,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
qw.eq(StringUtils.isNotBlank(bo.getCustomIntroducerName()), "psinfo.custom_introducer", bo.getCustomIntroducerName());//介绍人姓名
|
qw.eq(StringUtils.isNotBlank(bo.getCustomIntroducerName()), "psinfo.custom_introducer", 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 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.orderByDesc("info.create_time");//创建时间排序
|
qw.orderByDesc("info.create_time");//创建时间排序
|
||||||
return qw;
|
return qw;
|
||||||
}
|
}
|
||||||
@ -348,24 +355,37 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户档案查询列表
|
* 客户档案查询列表
|
||||||
* @param type 类型 1客户档案 2已完成客户
|
* @param queryBo
|
||||||
* @param name
|
|
||||||
* @param mobile
|
|
||||||
* @param companyName
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(Long id,Integer type,String name, String mobile,
|
public TableDataInfo<PsCustomerRecordVo> getCustomerRecordList(PsCustomRecordQueryBo queryBo, PageQuery pageQuery){
|
||||||
String companyName, PageQuery pageQuery){
|
|
||||||
QueryWrapper<PsCustomInfo> qw = Wrappers.query();
|
QueryWrapper<PsCustomInfo> qw = Wrappers.query();
|
||||||
qw.like(StringUtils.isNotBlank(companyName), "com.company_name", companyName);
|
qw.like(StringUtils.isNotBlank(queryBo.getCompanyName()), "com.company_name", queryBo.getCompanyName());
|
||||||
qw.eq(id != null,"custom.id",id);
|
qw.eq(queryBo.getId() != null,"custom.id",queryBo.getId());
|
||||||
qw.like(StringUtils.isNotBlank(name), "custom.custom_name", name);
|
qw.like(StringUtils.isNotBlank(queryBo.getName()), "custom.custom_name", queryBo.getName());
|
||||||
qw.like(StringUtils.isNotBlank(mobile), "custom.custom_mobile", mobile);
|
qw.like(StringUtils.isNotBlank(queryBo.getMobile()), "custom.custom_mobile", queryBo.getMobile());
|
||||||
qw.notIn("con.contract_status", ContractStatusEnum.isValid());
|
qw.notIn("con.contract_status", ContractStatusEnum.isValid());
|
||||||
if(type !=null && type == 2){
|
if(queryBo.getType() !=null && queryBo.getType() == 2){
|
||||||
qw.eq("con.contract_status", ContractStatusEnum.SUCCESS.getCode());
|
qw.eq("con.contract_status", ContractStatusEnum.SUCCESS.getCode());
|
||||||
|
}else if (queryBo.getType() !=null && queryBo.getType() == 1) {
|
||||||
|
//托管类服务类型编码集合
|
||||||
|
qw.exists(queryBo.getServiceType() !=null && queryBo.getServiceType() == 1, "select 1 from ps_contract_business bus " +
|
||||||
|
"where bus.contract_code = con.contract_code and bus.business_type = 2");
|
||||||
|
//非托管服务类型编码集合
|
||||||
|
qw.exists(queryBo.getServiceType() !=null && queryBo.getServiceType() == 2, "select 1 from ps_contract_business bus " +
|
||||||
|
"where bus.contract_code = con.contract_code and bus.business_type != 2");
|
||||||
|
//服务项目编码集合
|
||||||
|
qw.exists(CollectionUtils.isNotEmpty(queryBo.getServiceProjects()), "select 1 from ps_contract_business_detail detail " +
|
||||||
|
"where detail.contract_code = con.contract_code and detail.business_project in ("+StringUtils.join(queryBo.getServiceProjects(),",")+")");//服务项目编码集合
|
||||||
}
|
}
|
||||||
Page<PsCustomerRecordVo> list = baseMapper.selectPageCustomerRecordList(pageQuery.build(), qw);
|
Page<PsCustomerRecordVo> list = baseMapper.selectPageCustomerRecordList(pageQuery.build(), qw);
|
||||||
|
if(CollectionUtils.isEmpty(list.getRecords())){
|
||||||
|
return TableDataInfo.build(list);
|
||||||
|
}
|
||||||
|
//免费工单审批
|
||||||
|
list.getRecords().forEach(item->{
|
||||||
|
item.setFreeFailDesc(approverRecordService.getLastFail(item.getId()+"",null,List.of(ApproverTypeEnum.PAY.getCode())));
|
||||||
|
});
|
||||||
return TableDataInfo.build(list);
|
return TableDataInfo.build(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,9 +21,7 @@ import com.pusong.business.enums.TaskTypeEnum;
|
|||||||
import com.pusong.business.mapper.PsContractBusinessMapper;
|
import com.pusong.business.mapper.PsContractBusinessMapper;
|
||||||
import com.pusong.business.mapper.PsContractInfoMapper;
|
import com.pusong.business.mapper.PsContractInfoMapper;
|
||||||
import com.pusong.business.mapper.PsTaskAppointMapper;
|
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||||
import com.pusong.business.service.IPsCompanyInfoService;
|
import com.pusong.business.service.*;
|
||||||
import com.pusong.business.service.IPsContractInfoService;
|
|
||||||
import com.pusong.business.service.IPsTaskMediaService;
|
|
||||||
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;
|
||||||
@ -46,7 +44,6 @@ import org.springframework.boot.actuate.info.InfoEndpoint;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.pusong.business.domain.PsTaskMain;
|
import com.pusong.business.domain.PsTaskMain;
|
||||||
import com.pusong.business.mapper.PsTaskMainMapper;
|
import com.pusong.business.mapper.PsTaskMainMapper;
|
||||||
import com.pusong.business.service.IPsTaskService;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
@ -74,7 +71,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
private ApproverContainer approverContainer;
|
private ApproverContainer approverContainer;
|
||||||
@Resource
|
@Resource
|
||||||
private PsContractInfoMapper contractInfoMapper;
|
private PsContractInfoMapper contractInfoMapper;
|
||||||
|
private final IPsApproverRecordService approverRecordService;
|
||||||
/**
|
/**
|
||||||
* 新增主任务
|
* 新增主任务
|
||||||
*
|
*
|
||||||
@ -100,8 +97,10 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
Page<PsTaskMainVo> page = baseMapper.queryTaskPageList(pageQuery.build(), lqw);
|
Page<PsTaskMainVo> page = baseMapper.queryTaskPageList(pageQuery.build(), lqw);
|
||||||
for (PsTaskMainVo vo : page.getRecords()) {
|
for (PsTaskMainVo vo : page.getRecords()) {
|
||||||
if(vo.getStartDate() != null){
|
if(vo.getStartDate() != null){
|
||||||
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date())+1);
|
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date()));
|
||||||
}
|
}
|
||||||
|
//任务作废审批
|
||||||
|
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId()+"",null,List.of(ApproverTypeEnum.TASKCANCE.getCode(),ApproverTypeEnum.TASKFINISH.getCode())));
|
||||||
}
|
}
|
||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
@ -122,7 +121,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
Page<PsTaskMainVo> page = baseMapper.queryChildTaskPageList(pageQuery.build(), lqw);
|
Page<PsTaskMainVo> page = baseMapper.queryChildTaskPageList(pageQuery.build(), lqw);
|
||||||
for (PsTaskMainVo vo : page.getRecords()) {
|
for (PsTaskMainVo vo : page.getRecords()) {
|
||||||
if(vo.getStartDate() != null){
|
if(vo.getStartDate() != null){
|
||||||
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date())+1);
|
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
@ -186,7 +185,8 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public PsTaskMain queryByContractCode(String contractCode){
|
public PsTaskMain queryByContractCode(String contractCode){
|
||||||
return baseMapper.selectOne(Wrappers.<PsTaskMain>lambdaQuery().eq(PsTaskMain::getContractCode, contractCode));
|
return baseMapper.selectOne(Wrappers.<PsTaskMain>lambdaQuery().eq(PsTaskMain::getContractCode, contractCode)
|
||||||
|
.eq(PsTaskMain::getTaskType,TaskTypeEnum.CONTRACT.getCode()).ne(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 上传资料和公司信息
|
* 上传资料和公司信息
|
||||||
@ -399,7 +399,7 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
|||||||
lqw.eq(StringUtils.isNotBlank(bo.getType()),"main.task_type",bo.getType());
|
lqw.eq(StringUtils.isNotBlank(bo.getType()),"main.task_type",bo.getType());
|
||||||
}
|
}
|
||||||
lqw.eq(bo.getId() != null,"main.id",bo.getId());
|
lqw.eq(bo.getId() != null,"main.id",bo.getId());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), "com.company_name", bo.getCompanyName());//公司地址
|
lqw.like(StringUtils.isNotBlank(bo.getCompanyName()), "com.company_name", bo.getCompanyName());//公司名称
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getCustomerNum()), "com.customer_num", bo.getCustomerNum());//纳税人识别号
|
lqw.like(StringUtils.isNotBlank(bo.getCustomerNum()), "com.customer_num", bo.getCustomerNum());//纳税人识别号
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getCustomerCert()), "com.customer_cert", bo.getCustomerCert());//纳税人资格
|
lqw.eq(StringUtils.isNotBlank(bo.getCustomerCert()), "com.customer_cert", bo.getCustomerCert());//纳税人资格
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getCustomManagerName()), "usr.nick_name", bo.getCustomManagerName());//销售经理姓名
|
lqw.like(StringUtils.isNotBlank(bo.getCustomManagerName()), "usr.nick_name", bo.getCustomManagerName());//销售经理姓名
|
||||||
|
@ -10,7 +10,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
, info.custom_manager
|
, info.custom_manager
|
||||||
, com.id com_id
|
, com.id com_id
|
||||||
, com.company_name
|
, com.company_name
|
||||||
, com.company_name
|
|
||||||
, cus.id cus_id
|
, cus.id cus_id
|
||||||
, cus.custom_name
|
, cus.custom_name
|
||||||
, cus.custom_mobile
|
, cus.custom_mobile
|
||||||
|
@ -5,16 +5,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<mapper namespace="com.pusong.business.mapper.PsCustomInfoMapper">
|
<mapper namespace="com.pusong.business.mapper.PsCustomInfoMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<sql id="queryContract">
|
||||||
|
coninfo.custom_id = info.id and coninfo.contract_status != '10' and coninfo.is_cancel != '03'
|
||||||
|
</sql>
|
||||||
<sql id="queryCustomerList" >
|
<sql id="queryCustomerList" >
|
||||||
SELECT info.*
|
SELECT info.*
|
||||||
, usr.nick_name as custom_manager_name
|
, usr.nick_name as custom_manager_name
|
||||||
,psinfo.custom_name as custom_introducer_name
|
,psinfo.custom_name as custom_introducer_name
|
||||||
,(select contract_code from ps_contract_info where custom_id = info.id and create_time = (select max(create_time) from ps_contract_info psi where psi.custom_id = info.id ) limit 0,1)
|
,(select contract_code from ps_contract_info where custom_id = info.id and create_time = (select max(create_time) from ps_contract_info coninfo where <include refid="queryContract"/>) limit 0,1)
|
||||||
contract_code
|
contract_code
|
||||||
,(select min(start_date) from ps_task_main where contract_code =
|
,(select min(start_date) from ps_task_main where contract_code =
|
||||||
(select contract_code from ps_contract_info where custom_id = info.id and create_time = (select max(create_time) from ps_contract_info psi where psi.custom_id = info.id ) limit 0,1))
|
(select contract_code from ps_contract_info where custom_id = info.id and create_time = (select max(create_time) from ps_contract_info coninfo where <include refid="queryContract"/>) limit 0,1))
|
||||||
start_date
|
start_date
|
||||||
,EXISTS(SELECT * FROM ps_contract_info coninfo WHERE coninfo.custom_id = info.id and coninfo.contract_status != '10') have_contract
|
,EXISTS(SELECT 1 FROM ps_contract_info coninfo WHERE <include refid="queryContract"/>) have_contract
|
||||||
FROM ps_custom_info info
|
FROM ps_custom_info info
|
||||||
left join sys_user usr on info.custom_manager = usr.user_id
|
left join sys_user usr on info.custom_manager = usr.user_id
|
||||||
left join ps_custom_info psinfo on info.custom_introducer = psinfo.id
|
left join ps_custom_info psinfo on info.custom_introducer = psinfo.id
|
||||||
|
Loading…
Reference in New Issue
Block a user