bug
This commit is contained in:
parent
38cf44de52
commit
40631b8bb7
@ -59,7 +59,7 @@ public class PsCompanyInfoController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("business:companyInfo:list")
|
||||
@GetMapping("/pageList")
|
||||
public TableDataInfo<PsCompanyQueryVo> pageList(PsCompanyQueryBo bo, PageQuery pageQuery) {
|
||||
public TableDataInfo<PsCompanyInfoVo> pageList(PsCompanyQueryBo bo, PageQuery pageQuery) {
|
||||
return psCompanyInfoService.queryPageList(bo,pageQuery);
|
||||
}
|
||||
|
||||
@ -69,9 +69,26 @@ public class PsCompanyInfoController extends BaseController {
|
||||
@SaCheckPermission("business:customInfo:list")
|
||||
@Log(title = "服务公司列表" )
|
||||
@GetMapping("/serviceList")
|
||||
public TableDataInfo<PsCompanyQueryVo> serviceList(PsCompanyQueryBo queryBo, PageQuery pageQuery) {
|
||||
public TableDataInfo<PsCompanyInfoVo> serviceList(PsCompanyQueryBo queryBo, PageQuery pageQuery) {
|
||||
return psCompanyInfoService.queryServiceCompany(queryBo, pageQuery);
|
||||
}
|
||||
@SaCheckPermission("business:customInfo:list")
|
||||
@Log(title = "服务公司列表" )
|
||||
@GetMapping("/searchServiceCompany")
|
||||
public TableDataInfo<PsCompanyInfoVo> searchServiceCompany(@RequestParam("keyWorld") String keyWorld) {
|
||||
return psCompanyInfoService.searchServiceCompany(keyWorld);
|
||||
}
|
||||
|
||||
/**
|
||||
* 停止代账
|
||||
*/
|
||||
@SaCheckPermission("business:customInfo:list")
|
||||
@Log(title = "停止代账" )
|
||||
@GetMapping("/applyTerminationService")
|
||||
public R<Void> terminationService(PsCompanyQueryBo queryBo, PageQuery pageQuery) {
|
||||
psCompanyInfoService.terminationService(queryBo.getId());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@ -108,4 +125,6 @@ public class PsCompanyInfoController extends BaseController {
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(psCompanyInfoService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -189,7 +189,6 @@ public class PsContractInfoController extends BaseController {
|
||||
|
||||
/**
|
||||
* 免费派单
|
||||
* @param contractCode 合同编码
|
||||
* @param businessType 服务类别
|
||||
* @param businessProject 服务项目
|
||||
* @return
|
||||
@ -198,8 +197,8 @@ public class PsContractInfoController extends BaseController {
|
||||
@Log(title = "免费派单")
|
||||
@SaCheckPermission("business:task:list")
|
||||
@GetMapping("/freeWork")
|
||||
public R<Void> freeWork(@NotNull String contractCode,@NotNull String businessType,@NotNull String businessProject) {
|
||||
psContractInfoService.freeWork(contractCode,businessType,businessProject);
|
||||
public R<Void> freeWork(@NotNull String serviceCompanyId, @NotNull String businessType,@NotNull String businessProject) {
|
||||
psContractInfoService.freeWork(serviceCompanyId, businessType, businessProject);
|
||||
return R.ok();
|
||||
}
|
||||
/**
|
||||
@ -211,8 +210,8 @@ public class PsContractInfoController extends BaseController {
|
||||
@Log(title = "根据合同编码查询服务进度")
|
||||
@SaCheckPermission("business:task:list")
|
||||
@GetMapping("/queryScheduleByCode")
|
||||
public R<ServiceScheduleVo> queryScheduleByCode(@NotBlank String contractCode) {
|
||||
return R.ok(psContractInfoService.queryScheduleByCode(contractCode));
|
||||
public R<ServiceScheduleVo> queryScheduleByCode(@NotBlank String contractCode, @NotBlank Long serviceCompanyId) {
|
||||
return R.ok(psContractInfoService.queryScheduleByCode(contractCode, serviceCompanyId));
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -136,7 +136,7 @@ public class PsCustomController extends BaseController {
|
||||
|
||||
|
||||
/**
|
||||
* 已完成客户,, 废弃
|
||||
* 已完成客户
|
||||
* @param queryBo 查询
|
||||
* @return
|
||||
*/
|
||||
|
@ -58,4 +58,9 @@ public class PsCompanyQueryBo {
|
||||
*/
|
||||
private String followUser;
|
||||
|
||||
/**
|
||||
* 1全部 2非托管服务 3 托管代账 4托管不代账
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
|
@ -123,10 +123,46 @@ public class PsApproverRecordVo implements Serializable {
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||
private Long customManager;
|
||||
|
||||
/**
|
||||
* 签约公司id
|
||||
*/
|
||||
private Long companyId;
|
||||
/**
|
||||
* 公司名
|
||||
*/
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 签约个人时联系人姓名
|
||||
*/
|
||||
private String contactPersonName;
|
||||
|
||||
/**
|
||||
* 签约个人时联系人手机号
|
||||
*/
|
||||
private String contactPersonPhone;
|
||||
|
||||
/**
|
||||
* 签约个人时联系人身份证号
|
||||
*/
|
||||
private String contactPersonIdcard;
|
||||
/**
|
||||
* 签约公司信息(不会有服务类别)
|
||||
*/
|
||||
private PsCompanyInfoVo psCompanyInfoVo;
|
||||
//
|
||||
// /**
|
||||
// * 公司所属区域
|
||||
// */
|
||||
// private String companyAdress;
|
||||
|
||||
/**
|
||||
* 服务公司信息
|
||||
*/
|
||||
private List<PsCompanyInfoVo> servicePsCompanyInfoVo;
|
||||
|
||||
|
||||
/**
|
||||
* 客户名
|
||||
*/
|
||||
@ -149,6 +185,12 @@ public class PsApproverRecordVo implements Serializable {
|
||||
* 合同总金额
|
||||
*/
|
||||
private BigDecimal contractAmount;
|
||||
|
||||
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL,other = "contract_status", mapper="contractStatus")
|
||||
private String contractStatusName;
|
||||
|
||||
private String contractStatus;
|
||||
|
||||
/**
|
||||
* 已付金额
|
||||
*/
|
||||
@ -186,4 +228,9 @@ public class PsApproverRecordVo implements Serializable {
|
||||
*/
|
||||
private String payCertification;
|
||||
|
||||
/**
|
||||
* 退款详细信息
|
||||
*/
|
||||
private PsContractPayVo psContractPayVo;
|
||||
|
||||
}
|
||||
|
@ -191,12 +191,17 @@ public class PsCompanyInfoVo implements Serializable {
|
||||
private Long customManager;
|
||||
|
||||
/**
|
||||
* 服务状态
|
||||
* 服务状态0终止1正常
|
||||
*/
|
||||
private Integer serviceStatus;
|
||||
|
||||
/**
|
||||
* 服务状态
|
||||
* 终止原因
|
||||
*/
|
||||
private String terminationReason;
|
||||
|
||||
/**
|
||||
* 终止审核状态 0未申请,1审核中,2同意 3拒绝
|
||||
*/
|
||||
private Integer terminationStatus;
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ public class PsContractInfoVo implements Serializable {
|
||||
private String isOld;
|
||||
|
||||
/**
|
||||
* 是否续费
|
||||
* 是否续费0新签 1续费
|
||||
*/
|
||||
private String isDue;
|
||||
|
||||
|
@ -160,7 +160,6 @@ public class PsTaskMainVo implements Serializable {
|
||||
*/
|
||||
private PsCompanyInfoVo psCompanySerivceVo;
|
||||
|
||||
|
||||
/**
|
||||
* 服务公司id
|
||||
*/
|
||||
|
@ -4,6 +4,9 @@ import com.pusong.common.translation.annotation.Translation;
|
||||
import com.pusong.common.translation.constant.TransConstant;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ServiceScheduleVo {
|
||||
/**
|
||||
@ -30,30 +33,22 @@ public class ServiceScheduleVo {
|
||||
/**
|
||||
* 内勤
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||
private Long in;
|
||||
|
||||
/**
|
||||
* 内勤是否已完成(1是0否)
|
||||
* 内勤
|
||||
*/
|
||||
private Integer inStatus;
|
||||
List<UserAndStatus> in = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 外勤
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||
private Long out;
|
||||
/**
|
||||
* 外勤是否已完成(1是0否)
|
||||
*/
|
||||
private Integer outStatus;
|
||||
List<UserAndStatus> out = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 特勤
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||
private Long secret;
|
||||
/**
|
||||
* 特勤是否已完成(1是0否)
|
||||
*/
|
||||
private Integer secretStatus;
|
||||
List<UserAndStatus> secret = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 回传
|
||||
*/
|
||||
@ -73,4 +68,32 @@ public class ServiceScheduleVo {
|
||||
* 是否已完成(1是 0否)
|
||||
*/
|
||||
private Integer isFinish;
|
||||
|
||||
|
||||
public static class UserAndStatus{
|
||||
/**
|
||||
* 内勤
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||
private Long uid;
|
||||
/**
|
||||
* 内勤是否已完成(1是0否)
|
||||
*/
|
||||
private Integer status;
|
||||
public UserAndStatus(Long uid, Integer status){
|
||||
this.uid = uid;
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void addIn(UserAndStatus userAndStatus){
|
||||
this.in.add(userAndStatus);
|
||||
}
|
||||
public void addOut(UserAndStatus userAndStatus){
|
||||
this.out.add(userAndStatus);
|
||||
}
|
||||
public void addSecret(UserAndStatus userAndStatus){
|
||||
this.secret.add(userAndStatus);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,8 @@ public enum ApproverTypeEnum {
|
||||
PUBLIC("public","公海认领审批"),
|
||||
TASKCANCE("taskcance","任务作废审批"),
|
||||
RETURN("RETURN","退款审批"),
|
||||
FREE("free","免费工单审批");
|
||||
FREE("free","免费工单审批"),
|
||||
TERMINATIONSERVICE("terminationService","终止合作");
|
||||
private String code;
|
||||
private String text;
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
public interface PsApproverRecordMapper extends BaseMapperPlus<PsApproverRecord, PsApproverRecordVo> {
|
||||
|
||||
Page<PsApproverRecordVo> selectPageApproverList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsApproverRecord> queryWrapper);
|
||||
Page<PsApproverRecordVo> selectPageFreeApproverList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsApproverRecord> queryWrapper);
|
||||
|
||||
Page<PsApproverRecordVo> selectPagePublicList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsApproverRecord> queryWrapper);
|
||||
}
|
||||
|
@ -21,9 +21,12 @@ import java.util.List;
|
||||
*/
|
||||
public interface PsCompanyInfoMapper extends BaseMapperPlus<PsCompanyInfo, PsCompanyInfoVo> {
|
||||
|
||||
Page<PsCompanyQueryVo> selectPageList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
Page<PsCompanyInfoVo> selectPageList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
Page<PsCompanyInfoVo> selectPageList2(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
|
||||
List<PsCompanyInfoVo> selectServiceCompanyList(@Param(Constants.WRAPPER) Wrapper<PsCompanyInfoVo> queryWrapper);
|
||||
|
||||
|
||||
PsCompanyInfoVo selectVoCustomManagerById(@Param("id")Long id);
|
||||
|
||||
}
|
||||
|
@ -7,12 +7,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.business.domain.PsContractInfo;
|
||||
import com.pusong.business.domain.PsTaskMain;
|
||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||
import com.pusong.business.domain.vo.PsTaskAppointVo;
|
||||
import com.pusong.business.domain.vo.PsTaskMainVo;
|
||||
import com.pusong.common.mybatis.annotation.DataColumn;
|
||||
import com.pusong.common.mybatis.annotation.DataPermission;
|
||||
import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 主任务Mapper接口
|
||||
*
|
||||
@ -27,6 +30,7 @@ public interface PsTaskMainMapper extends BaseMapper<PsTaskMain> {
|
||||
Page<PsTaskMainVo> queryTaskPageList(@Param("page") Page<PsTaskMain> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
||||
|
||||
|
||||
|
||||
Page<PsTaskMainVo> queryInvoiceTaskPageList(@Param("page") Page<PsTaskMain> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
||||
|
||||
|
||||
@ -35,4 +39,8 @@ public interface PsTaskMainMapper extends BaseMapper<PsTaskMain> {
|
||||
@DataColumn(key = "userName", value = "appo.executor")
|
||||
})
|
||||
Page<PsTaskMainVo> queryChildTaskPageList(@Param("page") Page<PsTaskMain> page, @Param(Constants.WRAPPER) Wrapper<PsTaskMain> queryWrapper);
|
||||
|
||||
|
||||
List<PsTaskAppointVo> queryByMainId(@Param("mainId") Long mainId);
|
||||
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package com.pusong.business.service;
|
||||
import com.pusong.business.domain.bo.PsCompanyQueryBo;
|
||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
||||
import com.pusong.business.domain.vo.PsCompanyQueryVo;
|
||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
|
||||
@ -39,10 +38,11 @@ public interface IPsCompanyInfoService {
|
||||
* @param bo 查询条件
|
||||
* @return 公司信息列表
|
||||
*/
|
||||
TableDataInfo<PsCompanyQueryVo> queryPageList(PsCompanyQueryBo bo, PageQuery pageQuery);
|
||||
TableDataInfo<PsCompanyInfoVo> queryPageList(PsCompanyQueryBo bo, PageQuery pageQuery);
|
||||
|
||||
TableDataInfo<PsCompanyQueryVo> queryServiceCompany(PsCompanyQueryBo bo, PageQuery pageQuery);
|
||||
TableDataInfo<PsCompanyInfoVo> queryServiceCompany(PsCompanyQueryBo bo, PageQuery pageQuery);
|
||||
|
||||
TableDataInfo<PsCompanyInfoVo> searchServiceCompany(String keyWorld);
|
||||
|
||||
/**
|
||||
* 新增公司信息
|
||||
@ -80,4 +80,6 @@ public interface IPsCompanyInfoService {
|
||||
* 根据合同编码查询服务公司信息
|
||||
*/
|
||||
List<PsCompanyInfoVo> getServiceCompany(String controctCode);
|
||||
|
||||
void terminationService(Long serviceCompanyId);
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ public interface IPsContractInfoService {
|
||||
* 根据合同编码查询服务进度
|
||||
* @param contractCode 合同编码
|
||||
*/
|
||||
ServiceScheduleVo queryScheduleByCode(String contractCode);
|
||||
ServiceScheduleVo queryScheduleByCode(String contractCode, Long serviceCompanyId);
|
||||
|
||||
/**
|
||||
* 全部退款回退合同状态
|
||||
|
@ -67,6 +67,9 @@ public interface IPsTaskService {
|
||||
* @return
|
||||
*/
|
||||
PsTaskMain queryByContractCode(String contractCode);
|
||||
|
||||
PsTaskMain queryByContractCodeAndServiceCompanyId(String contractCode, Long serviceCompanyId);
|
||||
|
||||
/**
|
||||
* 根据主任务id查询进度
|
||||
*
|
||||
@ -74,6 +77,7 @@ public interface IPsTaskService {
|
||||
*/
|
||||
TaskPlanVo plan(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 上传资料和公司信息
|
||||
*
|
||||
|
@ -10,6 +10,7 @@ import com.pusong.business.domain.PsApproverRecord;
|
||||
import com.pusong.business.domain.PsContractPay;
|
||||
import com.pusong.business.domain.bo.PsApproverRecordBo;
|
||||
import com.pusong.business.domain.vo.PsApproverRecordVo;
|
||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.business.domain.vo.PsContractPayVo;
|
||||
import com.pusong.business.enums.ApproverStatusEnum;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
@ -17,6 +18,7 @@ import com.pusong.business.enums.PayStatusEnum;
|
||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.mapper.PsContractPayMapper;
|
||||
import com.pusong.business.service.IPsApproverRecordService;
|
||||
import com.pusong.business.service.IPsCompanyInfoService;
|
||||
import com.pusong.business.service.approver.ApproverContainer;
|
||||
import com.pusong.business.service.approver.ApproverService;
|
||||
import com.pusong.common.core.exception.ServiceException;
|
||||
@ -45,6 +47,8 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
@Resource
|
||||
private PsContractPayMapper baseMapper;
|
||||
@Resource
|
||||
private IPsCompanyInfoService companyInfoService;
|
||||
/**
|
||||
* 通用申请方法
|
||||
* @param bussinessId
|
||||
@ -99,14 +103,19 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
||||
.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()+"%'")
|
||||
.orderByAsc("app.approver_status").orderByDesc("app.apply_date");
|
||||
Page<PsApproverRecordVo> res = recordMapper.selectPageApproverList(pageQuery.build(), lqw);
|
||||
|
||||
if(CollectionUtils.isNotEmpty(res.getRecords())){
|
||||
res.getRecords().forEach(item->{
|
||||
if (item.getContractAmount() != null)
|
||||
item.setResidualMoney(item.getContractAmount().subtract(item.getPayMoney()));
|
||||
//装填回款周期
|
||||
List<PsContractPayVo> payList = queryListByContractCode(item.getContractCode(),"1", PayStatusEnum.SUCCESS);
|
||||
if(CollectionUtils.isNotEmpty(payList)){
|
||||
item.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()));
|
||||
}
|
||||
//装填服务公司信息
|
||||
List<PsCompanyInfoVo> list = companyInfoService.getServiceCompany(item.getContractCode());
|
||||
item.setServicePsCompanyInfoVo(list);
|
||||
});
|
||||
}
|
||||
return res;
|
||||
@ -120,7 +129,7 @@ public abstract class ApproverAbstractServiceImpl implements ApproverService {
|
||||
* @param contractCode 合同编码
|
||||
* @return
|
||||
*/
|
||||
public List<PsContractPayVo> queryListByContractCode(String contractCode,String business,PayStatusEnum enu){
|
||||
public List<PsContractPayVo> queryListByContractCode(String contractCode, String business, PayStatusEnum enu){
|
||||
if(StringUtils.isBlank(contractCode)){return new ArrayList<>();}
|
||||
List<PsContractPayVo> list = baseMapper.selectVoList(Wrappers.<PsContractPay>lambdaQuery().
|
||||
eq(PsContractPay::getContractCode, contractCode).eq(PsContractPay::getDelFlag,0)
|
||||
|
@ -1,23 +1,35 @@
|
||||
package com.pusong.business.service.approver.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.business.domain.PsApproverRecord;
|
||||
import com.pusong.business.domain.PsContractInfo;
|
||||
import com.pusong.business.domain.PsTaskAppoint;
|
||||
import com.pusong.business.domain.PsTaskMain;
|
||||
import com.pusong.business.domain.bo.PsApproverRecordBo;
|
||||
import com.pusong.business.domain.vo.PsApproverRecordVo;
|
||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.enums.ContractStatusEnum;
|
||||
import com.pusong.business.enums.TaskStatusEnum;
|
||||
import com.pusong.business.enums.TaskTypeEnum;
|
||||
import com.pusong.business.domain.vo.PsContractPayVo;
|
||||
import com.pusong.business.enums.*;
|
||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||
import com.pusong.business.mapper.PsTaskMainMapper;
|
||||
import com.pusong.business.service.IPsCompanyInfoService;
|
||||
import com.pusong.business.service.IPsContractInfoService;
|
||||
import com.pusong.common.core.utils.DateUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 免费工单审批
|
||||
*/
|
||||
@ -32,20 +44,25 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
private final IPsContractInfoService contractInfoService;
|
||||
|
||||
private final IPsCompanyInfoService companyInfoService;
|
||||
@Resource
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
/**
|
||||
* 1 审批成功
|
||||
* @param psApproverRecord 神瀑类
|
||||
*/
|
||||
@Override
|
||||
public void success(PsApproverRecord psApproverRecord) {
|
||||
PsContractInfoVo vo = contractInfoService.queryContractByCode(psApproverRecord.getBusinessId());
|
||||
// PsContractInfoVo vo = contractInfoService.queryContractByCode(psApproverRecord.getBusinessId());
|
||||
PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryById(Long.valueOf(psApproverRecord.getBusinessId()));
|
||||
|
||||
PsTaskMain psTaskMain = new PsTaskMain();
|
||||
psTaskMain.setCompanyId(vo.getCompanyId());
|
||||
psTaskMain.setCustomId(vo.getCustomId());
|
||||
psTaskMain.setContractCode(vo.getContractCode());
|
||||
psTaskMain.setCompanyId(psCompanyInfoVo.getId());
|
||||
psTaskMain.setCustomId(psCompanyInfoVo.getCustomId());
|
||||
// psTaskMain.setContractCode(vo.getContractCode());
|
||||
psTaskMain.setTaskType(TaskTypeEnum.FREE.getCode());
|
||||
psTaskMain.setTaskStatus(TaskStatusEnum.INIT.getCode());
|
||||
psTaskMain.setServiceCompanyId(psCompanyInfoVo.getId());
|
||||
psTaskMain.setBusinessType(psApproverRecord.getUpdateData().split("@@")[0]);
|
||||
psTaskMain.setBusinessProject(psApproverRecord.getUpdateData().split("@@")[1]);
|
||||
taskMainMapper.insert(psTaskMain);
|
||||
@ -66,4 +83,40 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
public void fail(PsApproverRecord psApproverRecord) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
@Override
|
||||
public Page<PsApproverRecordVo> queryList(PsApproverRecordBo bo, PageQuery pageQuery){
|
||||
QueryWrapper<PsApproverRecord> lqw = Wrappers.<PsApproverRecord>query().eq("app.business_type", approverType())
|
||||
.eq(bo.getId()!=null,"app.id",bo.getId())
|
||||
.eq("app.del_flag","0")
|
||||
.eq(com.pusong.common.core.utils.StringUtils.isNotBlank(bo.getApproverStatus()),"app.approver_status",bo.getApproverStatus())
|
||||
.like(com.pusong.common.core.utils.StringUtils.isNotBlank(bo.getCustomerName()),"cus.custom_name",bo.getCustomerName())
|
||||
.like(com.pusong.common.core.utils.StringUtils.isNotBlank(bo.getCompanyName()),"com.company_name",bo.getCompanyName())
|
||||
//销售经理姓名
|
||||
.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()+"%'")
|
||||
.orderByAsc("app.approver_status").orderByDesc("app.apply_date");
|
||||
Page<PsApproverRecordVo> res = recordMapper.selectPageFreeApproverList(pageQuery.build(), lqw);
|
||||
if(CollectionUtils.isNotEmpty(res.getRecords())){
|
||||
res.getRecords().forEach(item->{
|
||||
if (item.getContractAmount() != null)
|
||||
item.setResidualMoney(item.getContractAmount().subtract(item.getPayMoney()));
|
||||
//装填回款周期
|
||||
List<PsContractPayVo> payList = queryListByContractCode(item.getContractCode(),"1", PayStatusEnum.SUCCESS);
|
||||
if(CollectionUtils.isNotEmpty(payList)){
|
||||
item.setPeriod(DateUtils.calWorkDate(payList.get(0).getPayDate(),payList.get(payList.size()-1).getPayDate()));
|
||||
}
|
||||
|
||||
//装填服务公司信息
|
||||
PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryById(Long.valueOf(item.getBusinessId()));
|
||||
if (psCompanyInfoVo != null){
|
||||
item.setServicePsCompanyInfoVo(Arrays.asList(psCompanyInfoVo));
|
||||
}
|
||||
});
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -58,29 +58,24 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
|
||||
update.setPayStatus(PayStatusEnum.SUCCESS.getCode());
|
||||
payService.updateById(update);
|
||||
|
||||
if(StringUtils.isNotBlank(info.getSrcContractCode())){
|
||||
log.info("续费合同不需要生成任务"+info.getSrcContractCode());
|
||||
if(StringUtils.equals(ContractStatusEnum.CREATE.getCode(),info.getContractStatus())){
|
||||
log.info("修改合同状态");
|
||||
PsContractInfo updateInfo = new PsContractInfo();
|
||||
updateInfo.setContractCode(info.getContractCode());
|
||||
if("1".equals(info.getIsDue())){
|
||||
if(StringUtils.equals(ContractStatusEnum.CREATE.getCode(), info.getContractStatus())){
|
||||
updateInfo.setContractStatus(ContractStatusEnum.EXECUTION.getCode());
|
||||
psContractInfoService.updateByCode(updateInfo);
|
||||
}
|
||||
return;
|
||||
return;//续费合同不生成任务直接return
|
||||
}else{
|
||||
if(StringUtils.equals(ContractStatusEnum.CREATE.getCode(),info.getContractStatus())){
|
||||
log.info("修改合同状态");
|
||||
PsContractInfo updateInfo = new PsContractInfo();
|
||||
updateInfo.setContractCode(info.getContractCode());
|
||||
if(StringUtils.equals(ContractStatusEnum.CREATE.getCode(), info.getContractStatus())){
|
||||
updateInfo.setContractStatus(ContractStatusEnum.RETURN.getCode());
|
||||
psContractInfoService.updateByCode(updateInfo);
|
||||
}
|
||||
}
|
||||
|
||||
List<PsContractPayVo> list = payService.queryListByContractCode(info.getContractCode(), PayBuinessStatusEnum.PAY.getCode(), PayStatusEnum.SUCCESS);
|
||||
// List<PsContractPayVo> list = payService.queryListByContractCode(info.getContractCode(), PayBuinessStatusEnum.PAY.getCode(), PayStatusEnum.SUCCESS);
|
||||
//如果没有过回款记录初始化任务主表,并修改合同状态
|
||||
log.info("查询回款记录数量{}任务状态{}", list.size(),info.getContractStatus());
|
||||
// log.info("查询回款记录数量{}任务状态{}", list.size(),info.getContractStatus());
|
||||
|
||||
PsTaskMain task = taskMainService.queryByContractCode(psApproverRecord.getContractCode());
|
||||
if(task == null || task.getId() == null){
|
||||
@ -99,7 +94,6 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
|
||||
taskMainService.insertBatch(psTaskMainList);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,9 +1,15 @@
|
||||
package com.pusong.business.service.approver.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.business.domain.*;
|
||||
import com.pusong.business.domain.bo.PsApproverRecordBo;
|
||||
import com.pusong.business.domain.vo.PsApproverRecordVo;
|
||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||
import com.pusong.business.domain.vo.PsContractPayVo;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.enums.ContractStatusEnum;
|
||||
import com.pusong.business.enums.PayStatusEnum;
|
||||
@ -12,8 +18,13 @@ import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.mapper.PsContractPayMapper;
|
||||
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||
import com.pusong.business.mapper.PsTaskMainMapper;
|
||||
import com.pusong.business.service.IPsCompanyInfoService;
|
||||
import com.pusong.business.service.IPsContractInfoService;
|
||||
import com.pusong.business.service.IPsTaskService;
|
||||
import com.pusong.common.core.utils.DateUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -28,13 +39,18 @@ import java.util.Objects;
|
||||
@Service
|
||||
@Slf4j
|
||||
public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Resource
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.RETURN.getCode();
|
||||
}
|
||||
private final PsContractPayMapper baseMapper;
|
||||
|
||||
private final PsContractPayMapper payMapper;
|
||||
|
||||
@Resource
|
||||
private IPsCompanyInfoService companyInfoService;
|
||||
/**
|
||||
* 1 审批成功 退款审批成功
|
||||
* @param psApproverRecord 神瀑类
|
||||
@ -56,4 +72,15 @@ public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
info.setPayStatus(PayStatusEnum.FILE.getCode());
|
||||
baseMapper.updateById(info);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Page<PsApproverRecordVo> queryList(PsApproverRecordBo bo, PageQuery pageQuery){
|
||||
Page<PsApproverRecordVo> res = super.queryList(bo, pageQuery);
|
||||
for (PsApproverRecordVo record : res.getRecords()) {
|
||||
PsContractPayVo psContractPayVo = payMapper.selectVoById(record.getBusinessId());
|
||||
record.setPsContractPayVo(psContractPayVo);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,67 @@
|
||||
package com.pusong.business.service.approver.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pusong.business.domain.PsApproverRecord;
|
||||
import com.pusong.business.domain.PsTaskMain;
|
||||
import com.pusong.business.domain.bo.PsApproverRecordBo;
|
||||
import com.pusong.business.domain.vo.PsApproverRecordVo;
|
||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.business.domain.vo.PsContractPayVo;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.enums.PayStatusEnum;
|
||||
import com.pusong.business.enums.TaskStatusEnum;
|
||||
import com.pusong.business.enums.TaskTypeEnum;
|
||||
import com.pusong.business.mapper.PsApproverRecordMapper;
|
||||
import com.pusong.business.mapper.PsTaskAppointMapper;
|
||||
import com.pusong.business.mapper.PsTaskMainMapper;
|
||||
import com.pusong.business.service.IPsCompanyInfoService;
|
||||
import com.pusong.business.service.IPsContractInfoService;
|
||||
import com.pusong.common.core.utils.DateUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 免费工单审批
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@Slf4j
|
||||
public class TerminationServiceImpl extends ApproverAbstractServiceImpl {
|
||||
@Override
|
||||
public String approverType() {
|
||||
return ApproverTypeEnum.TERMINATIONSERVICE.getCode();
|
||||
}
|
||||
private final PsTaskMainMapper taskMainMapper;
|
||||
private final PsTaskAppointMapper taskAppointMapper;
|
||||
private final IPsContractInfoService contractInfoService;
|
||||
private final IPsCompanyInfoService companyInfoService;
|
||||
@Resource
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
@Override
|
||||
public void success(PsApproverRecord psApproverRecord) {
|
||||
//修改服务公司状态为终止
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 审批拒绝
|
||||
* @param psApproverRecord
|
||||
*/
|
||||
@Override
|
||||
public void fail(PsApproverRecord psApproverRecord) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -5,11 +5,12 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.pusong.business.domain.PsContractCompany;
|
||||
import com.pusong.business.domain.PsContractInfo;
|
||||
import com.pusong.business.domain.bo.PsCompanyQueryBo;
|
||||
import com.pusong.business.domain.vo.PsCompanyQueryVo;
|
||||
import com.pusong.business.domain.vo.PsSalaryVo;
|
||||
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
||||
import com.pusong.business.enums.ApproverTypeEnum;
|
||||
import com.pusong.business.mapper.PsContractCompanyMapper;
|
||||
import com.pusong.business.mapper.PsContractInfoMapper;
|
||||
import com.pusong.business.service.IPsContractInfoService;
|
||||
import com.pusong.business.service.approver.ApproverContainer;
|
||||
import com.pusong.business.service.approver.ApproverService;
|
||||
import com.pusong.common.core.exception.ServiceException;
|
||||
import com.pusong.common.core.utils.MapstructUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
@ -18,6 +19,7 @@ import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
||||
@ -28,7 +30,6 @@ import com.pusong.business.service.IPsCompanyInfoService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
@ -44,7 +45,8 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
private final PsCompanyInfoMapper baseMapper;
|
||||
private final PsContractCompanyMapper contractCompanyMapper;
|
||||
private final PsContractInfoMapper contractInfoMapper;
|
||||
|
||||
@Resource
|
||||
private final ApproverContainer container;
|
||||
|
||||
/**
|
||||
* 查询公司信息
|
||||
@ -54,8 +56,10 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
*/
|
||||
@Override
|
||||
public PsCompanyInfoVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
return baseMapper.selectVoCustomManagerById(id);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询符合条件的公司信息列表
|
||||
*
|
||||
@ -74,7 +78,7 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
* @param bo 查询条件
|
||||
* @return 公司信息列表
|
||||
*/
|
||||
public TableDataInfo<PsCompanyQueryVo> queryPageList(PsCompanyQueryBo bo, PageQuery pageQuery){
|
||||
public TableDataInfo<PsCompanyInfoVo> queryPageList(PsCompanyQueryBo bo, PageQuery pageQuery){
|
||||
QueryWrapper<PsCompanyInfo> lqw = Wrappers.query();
|
||||
lqw.exists(StringUtils.isNotBlank(bo.getCustomManagerName()),"select 1 from sys_user su where su.user_id = cus.custom_manager and su.nick_name like '%"+bo.getCustomManagerName()+"%'");
|
||||
lqw.eq(bo.getId() != null,"com.id",bo.getId());
|
||||
@ -83,7 +87,7 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
lqw.like(bo.getCompanyName() != null,"com.company_name",bo.getCompanyName());
|
||||
lqw.like(bo.getCompanyName() != null,"com.company_name",bo.getCompanyName());
|
||||
lqw.like(bo.getCustomIntroducer() != null,"cusi.custom_name",bo.getCustomIntroducer());
|
||||
Page<PsCompanyQueryVo> result = baseMapper.selectPageList(pageQuery.build(), lqw);
|
||||
Page<PsCompanyInfoVo> result = baseMapper.selectPageList(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
/**
|
||||
@ -92,17 +96,40 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
* @param bo 查询条件
|
||||
* @return 公司信息列表
|
||||
*/
|
||||
public TableDataInfo<PsCompanyQueryVo> queryServiceCompany(PsCompanyQueryBo bo, PageQuery pageQuery){
|
||||
public TableDataInfo<PsCompanyInfoVo> queryServiceCompany(PsCompanyQueryBo bo, PageQuery pageQuery){
|
||||
QueryWrapper<PsCompanyInfo> lqw = Wrappers.query();
|
||||
lqw.exists(StringUtils.isNotBlank(bo.getCustomManagerName()),"select 1 from sys_user su where su.user_id = cus.custom_manager and su.nick_name like '%"+bo.getCustomManagerName()+"%'");
|
||||
lqw.eq(bo.getId() != null,"com.id",bo.getId());
|
||||
lqw.eq(bo.getId() != null,"com.id", bo.getId());
|
||||
lqw.eq("com.company_type", "2");
|
||||
lqw.like(bo.getCustomName() != null,"cus.custom_name",bo.getCustomName());
|
||||
lqw.like(bo.getCustomMobile() != null,"cus.custom_mobile",bo.getCustomMobile());
|
||||
lqw.like(bo.getCompanyName() != null,"com.company_name",bo.getCompanyName());
|
||||
lqw.eq(bo.getServiceStatus() != null,"com.service_status",bo.getServiceStatus());
|
||||
lqw.exists(StringUtils.isNotBlank(bo.getFollowUser()),"select 1 from sys_user fsu where fsu.user_id = cf.user_id and fsu.nick_name like '%"+bo.getFollowUser()+"%'");
|
||||
|
||||
Page<PsCompanyQueryVo> result = baseMapper.selectPageList(pageQuery.build(), lqw);
|
||||
StringBuilder sql = new StringBuilder("select 1 from ps_contract_business cb where cb.company_id = com.id ");
|
||||
if (bo.getType() == 2){ //非托管
|
||||
sql.append("and business_type != '2'");
|
||||
}else if (bo.getType() == 3){ //托管代账
|
||||
sql.append("and business_type = '2' and is_proxy = '1'");
|
||||
}else if (bo.getType() == 4){ //托管不代账
|
||||
sql.append("and business_type = '2' and is_proxy = '2'");
|
||||
}
|
||||
lqw.exists(bo.getType() != 1, sql.toString());
|
||||
Page<PsCompanyInfoVo> result = baseMapper.selectPageList2(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
public TableDataInfo<PsCompanyInfoVo> searchServiceCompany(String keyWorld){
|
||||
if (keyWorld == null || keyWorld.equals("")){
|
||||
return TableDataInfo.build();
|
||||
}
|
||||
PageQuery pageQuery = new PageQuery();
|
||||
pageQuery.setPageSize(10);
|
||||
QueryWrapper<PsCompanyInfo> lqw = Wrappers.query();
|
||||
lqw.like("company_name", keyWorld);
|
||||
lqw.eq("company_type", "2");
|
||||
Page<PsCompanyInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
private LambdaQueryWrapper<PsCompanyInfo> buildQueryWrapper(PsCompanyInfoBo bo) {
|
||||
@ -140,7 +167,9 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
if(bo.getBusinessList() != null){//装填服务类型的公司id
|
||||
bo.getBusinessList().forEach(b -> b.setCompanyId(add.getId()));
|
||||
for (PsContractBusinessBo psContractBusinessBo : bo.getBusinessList()) {
|
||||
psContractBusinessBo.setCompanyId(add.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
@ -219,5 +248,14 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 终止代账合作
|
||||
*
|
||||
* @param serviceCompanyId
|
||||
*/
|
||||
public void terminationService(Long serviceCompanyId) {
|
||||
//发起审批
|
||||
ApproverService service = container.getService(ApproverTypeEnum.TERMINATIONSERVICE.getCode());
|
||||
service.apply(serviceCompanyId + "", "",null, null);
|
||||
}
|
||||
}
|
||||
|
@ -62,6 +62,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
private final IPsContractBusinessDetailService businessDetailService;
|
||||
@Resource
|
||||
private final IPsCompanyInfoService companyInfoService;
|
||||
private final PsCompanyInfoMapper companyInfoMapper;
|
||||
@Resource
|
||||
private final IPsCustomInfoService customInfoService;
|
||||
@Resource
|
||||
@ -116,7 +117,16 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
//插入服务公司
|
||||
for (PsCompanyInfoBo companyInfoBo : bo.getServiceCompanyInfoList()){
|
||||
companyInfoBo.setCompanyType("2");
|
||||
companyInfoBo.setCustomId(bo.getCustomId());
|
||||
if (companyInfoBo.getId() == null){
|
||||
companyInfoService.saveBo(companyInfoBo);
|
||||
}else{
|
||||
PsCompanyInfo update = MapstructUtils.convert(bo, PsCompanyInfo.class);
|
||||
companyInfoMapper.updateById(update);
|
||||
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
|
||||
psContractBusinessBo.setCompanyId(companyInfoBo.getId());
|
||||
}
|
||||
}
|
||||
|
||||
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
|
||||
psContractBusinessBo.setStartDate(companyInfoBo.getStartServiceDate());
|
||||
@ -302,28 +312,112 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
/**
|
||||
* 根据合同编码修改合同信息(开启事务)
|
||||
*
|
||||
* @param bo 合同信息
|
||||
* @param updateBo 合同信息
|
||||
* @return 合同基本信息
|
||||
*/
|
||||
@Transactional
|
||||
public boolean updateContractByCode(PsContractInfoBo bo){
|
||||
public boolean updateContractByCode(PsContractInfoBo updateBo){
|
||||
//1获取合同详情
|
||||
PsContractInfoVo src = queryContractByCode(bo.getContractCode());
|
||||
PsContractInfoVo old = queryContractByCode(updateBo.getContractCode());
|
||||
//2校验状态
|
||||
beforeUpdateValid(bo, src);
|
||||
if(bo.getCompanyInfoBo().getCustomId() == null){
|
||||
bo.getCompanyInfoBo().setCustomId(bo.getCustomId());
|
||||
beforeUpdateValid(updateBo, old);
|
||||
|
||||
//签约公司填充 客户id
|
||||
if(updateBo.getCompanyInfoBo().getCustomId() == null){
|
||||
updateBo.getCompanyInfoBo().setCustomId(updateBo.getCustomId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
//5.已回款之后的合同修改后走审批
|
||||
if(!ContractStatusEnum.isReturn(old.getContractStatus())){
|
||||
update(old, updateBo);
|
||||
return true;
|
||||
}
|
||||
|
||||
//发起审批
|
||||
ApproverService service = container.getService(ApproverTypeEnum.UPDATE.getCode());
|
||||
service.apply(updateBo.getContractCode(),updateBo.getContractCode(),updateBo.getUpdateDesc(), JSON.toJSONString(updateBo));
|
||||
PsContractInfo info = new PsContractInfo();
|
||||
info.setContractCode(updateBo.getContractCode());
|
||||
info.setContractStatus(ContractStatusEnum.UPDATEAPPROVER.getCode());
|
||||
updateByCode(info);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void update(PsContractInfoVo old, PsContractInfoBo updateBo){
|
||||
if (old.getCompanyId() == null){
|
||||
if (updateBo.getCompanyInfoBo().getId() != null){
|
||||
//签约主体个人转公司,修改公司信息
|
||||
//3.插入公司信息
|
||||
companyInfoService.saveBo(bo.getCompanyInfoBo());
|
||||
//插入服务公司
|
||||
for (PsCompanyInfoBo companyInfoBo : bo.getServiceCompanyInfoList()){
|
||||
companyInfoBo.setCompanyType("2");
|
||||
companyInfoService.saveBo(companyInfoBo);
|
||||
companyInfoService.saveBo(updateBo.getCompanyInfoBo());
|
||||
}else{
|
||||
//签约人信息变化, 不做公司信息修改, 只更新合同表
|
||||
}
|
||||
}else{
|
||||
if (updateBo.getCompanyInfoBo().getId() != null){
|
||||
//签约公司信息变更,修改公司信息
|
||||
//3.插入公司信息
|
||||
companyInfoService.saveBo(updateBo.getCompanyInfoBo());
|
||||
}else{
|
||||
//签约主体公司转个人, 不做公司信息修改, 只更新合同表
|
||||
}
|
||||
}
|
||||
|
||||
Map<Long, PsCompanyInfoVo> oldCompanyMap = new HashMap<>();
|
||||
for (PsCompanyInfoVo psCompanyInfoVo : old.getPsCompanySerivceVo()) {
|
||||
oldCompanyMap.put(psCompanyInfoVo.getId(), psCompanyInfoVo);
|
||||
}
|
||||
List<PsCompanyInfoBo> addCompany = new ArrayList<>();
|
||||
List<PsCompanyInfoBo> updateCompany = new ArrayList<>();
|
||||
for (PsCompanyInfoBo companyInfoBo : updateBo.getServiceCompanyInfoList()){
|
||||
if (companyInfoBo.getId() == null){
|
||||
addCompany.add(companyInfoBo);
|
||||
continue;
|
||||
}
|
||||
if (!oldCompanyMap.containsKey(companyInfoBo.getId())){
|
||||
addCompany.add(companyInfoBo);
|
||||
continue;
|
||||
}
|
||||
updateCompany.add(companyInfoBo);
|
||||
oldCompanyMap.remove(companyInfoBo.getId());
|
||||
}
|
||||
|
||||
for (PsCompanyInfoBo psCompanyInfoBo : updateCompany) {
|
||||
//服务公司信息修改、、服务项目修改
|
||||
|
||||
}
|
||||
for (PsCompanyInfoVo psCompanyInfoBo : oldCompanyMap.values()) {
|
||||
//服务公司删,则删任务,重新校验合同状态,可能已完成
|
||||
QueryWrapper<PsTaskMain> qw = Wrappers.query();
|
||||
//删除标志
|
||||
qw.eq( "info.del_flag", 0);//删除标志
|
||||
|
||||
taskMainMapper.delete(qw);
|
||||
// taskAppointMapper.delete();
|
||||
}
|
||||
for (PsCompanyInfoBo companyInfoBo : addCompany) {
|
||||
//服务公司加,增加任务,重新计算合同是待分配还是已分配
|
||||
companyInfoBo.setCompanyType("2");
|
||||
companyInfoBo.setCustomId(updateBo.getCustomId());
|
||||
if (companyInfoBo.getId() == null){
|
||||
companyInfoService.saveBo(companyInfoBo);
|
||||
}else{
|
||||
PsCompanyInfo update = MapstructUtils.convert(updateBo, PsCompanyInfo.class);
|
||||
companyInfoMapper.updateById(update);
|
||||
for (PsContractBusinessBo psContractBusinessBo : companyInfoBo.getBusinessList()) {
|
||||
psContractBusinessBo.setCompanyId(companyInfoBo.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//4.装填合同信息
|
||||
List<PsContractBusinessBo> list = bo.getServiceCompanyInfoList().stream().flatMap(com -> com.getBusinessList().stream()).toList();
|
||||
list.forEach(item->{
|
||||
List<PsContractBusinessBo> list = updateBo.getServiceCompanyInfoList().stream().flatMap(com -> com.getBusinessList().stream()).toList();
|
||||
for (PsContractBusinessBo item : list) {
|
||||
BigDecimal mony = BigDecimal.ZERO;
|
||||
if(CollectionUtils.isNotEmpty(item.getDetailBos())){
|
||||
mony = item.getDetailBos().stream().map(PsContractBusinessDetailBo::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
@ -332,31 +426,25 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
if(mony.compareTo(BigDecimal.ZERO) > 0){
|
||||
item.setBusinessAmount(mony);
|
||||
}
|
||||
});
|
||||
}
|
||||
BigDecimal sum = list.stream().map(PsContractBusinessBo::getBusinessAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
bo.setContractAmount(sum);//合同总金额
|
||||
updateBo.setContractAmount(sum);//合同总金额
|
||||
|
||||
//重新计算当前的合同状态,待回款、待处理、处理中、已完结、已作废;;;已完结和处理中可能会变成待处理
|
||||
if(ContractStatusEnum.isReturn(old.getContractStatus())){
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//5.已回款之后的合同修改后走审批
|
||||
if(ContractStatusEnum.isReturn(src.getContractStatus())){
|
||||
bo.setContractStatusCode(src.getContractStatus());
|
||||
//发起审批
|
||||
ApproverService service = container.getService(ApproverTypeEnum.UPDATE.getCode());
|
||||
service.apply(bo.getContractCode(),bo.getContractCode(),bo.getUpdateDesc(), JSON.toJSONString(bo));
|
||||
PsContractInfo info = new PsContractInfo();
|
||||
info.setContractCode(bo.getContractCode());
|
||||
info.setContractStatus(ContractStatusEnum.UPDATEAPPROVER.getCode());
|
||||
updateByCode(info);
|
||||
}else{
|
||||
//修改合同
|
||||
PsContractInfo add = new PsContractInfo();
|
||||
MapstructUtils.convert(bo, add);
|
||||
add.setCompanyId(bo.getCompanyInfoBo().getId());//公司id
|
||||
MapstructUtils.convert(updateBo, add);
|
||||
add.setCompanyId(updateBo.getCompanyInfoBo().getId());//公司id
|
||||
this.updateByCode(add);
|
||||
//4.删除所有服务类型和服务项目,.插入服务类型
|
||||
businessService.saveList(list,add.getContractCode());
|
||||
makePdf(add, bo,true);
|
||||
}
|
||||
return true;
|
||||
businessService.saveList(list, add.getContractCode());
|
||||
makePdf(add, updateBo,true);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -537,11 +625,10 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
* @param businessType 服务类别
|
||||
* @param businessProject 服务项目
|
||||
*/
|
||||
public void freeWork(String contractCode,String businessType,String businessProject) {
|
||||
PsContractInfoVo info = this.queryContractByCode(contractCode);
|
||||
public void freeWork(String serviceCompanyId,String businessType,String businessProject) {
|
||||
//发起审批
|
||||
ApproverService service = container.getService(ApproverTypeEnum.FREE.getCode());
|
||||
service.apply(info.getContractCode(),info.getContractCode(),null, businessType+"@@"+businessProject);
|
||||
service.apply(serviceCompanyId, "",null, businessType+"@@"+businessProject);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -582,7 +669,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
} else {
|
||||
//合同金额< 8000元,无需回传合同,【电子签章】申请成功后,必须回传合同
|
||||
if (CommonStatusEnum.ING.getCode().equals(info.getSignStatus())
|
||||
|| info.getSignStatus().equals(CommonStatusEnum.SUCCESS.getCode())) {//申请了电子章
|
||||
|| CommonStatusEnum.SUCCESS.getCode().equals(info.getSignStatus())) {//申请了电子章
|
||||
rollbackFlag = false;
|
||||
}
|
||||
}
|
||||
@ -597,7 +684,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
} else {
|
||||
//合同金额< 8000元,无需回传合同,【电子签章】申请成功后,必须回传合同
|
||||
if (CommonStatusEnum.ING.getCode().equals(info.getSignStatus())
|
||||
|| info.getSignStatus().equals(CommonStatusEnum.SUCCESS.getCode())) {//申请了电子章
|
||||
|| CommonStatusEnum.SUCCESS.getCode().equals(info.getSignStatus())) {//申请了电子章
|
||||
rollbackFlag = false;
|
||||
}
|
||||
}
|
||||
@ -628,7 +715,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
* 根据合同编码查询服务进度
|
||||
* @param contractCode 合同编码
|
||||
*/
|
||||
public ServiceScheduleVo queryScheduleByCode(String contractCode){
|
||||
public ServiceScheduleVo queryScheduleByCode(String contractCode, Long serviceCompanyId){
|
||||
PsContractInfo contractInfo = this.queryByCode(null, contractCode, null).get(0);
|
||||
PsCustomInfo customer = customInfoService.listById(contractInfo.getCustomId());
|
||||
|
||||
@ -647,13 +734,14 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
//第一笔回款
|
||||
serviceScheduleVo.setFirstPay(CollectionUtils.isNotEmpty(payVoList)?payVoList.get(0).getCreateBy():null);
|
||||
|
||||
PsTaskMain task = taskMainService.queryByContractCode(contractCode);
|
||||
PsTaskMain task = taskMainService.queryByContractCodeAndServiceCompanyId(contractCode, serviceCompanyId);
|
||||
List<PsTaskAppoint> appointList = new ArrayList<>();
|
||||
if(task != null){
|
||||
appointList = taskAppointMapper.selectList(Wrappers.<PsTaskAppoint>lambdaQuery()
|
||||
.eq(PsTaskAppoint::getContractCode, contractCode)
|
||||
.ne(PsTaskAppoint::getAppointStatus,AppointStatusEnum.CANCEL.getCode())
|
||||
.eq(PsTaskAppoint::getTaskId, task.getId()));
|
||||
.eq(PsTaskAppoint::getTaskId, task.getId())
|
||||
);
|
||||
}
|
||||
|
||||
//派单者
|
||||
@ -661,20 +749,11 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
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);
|
||||
serviceScheduleVo.addIn(new ServiceScheduleVo.UserAndStatus(item.getExecutor(), 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);
|
||||
serviceScheduleVo.addOut(new ServiceScheduleVo.UserAndStatus(item.getExecutor(), 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.addSecret(new ServiceScheduleVo.UserAndStatus(item.getExecutor(), StringUtils.equals(AppointStatusEnum.FINISH.getCode(),item.getAppointStatus())?1:0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -136,7 +136,7 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
|
||||
baseMapper.insert(pay);
|
||||
//发起审批
|
||||
ApproverService service = container.getService(ApproverTypeEnum.RETURN.getCode());
|
||||
service.apply(pay.getId()+"",pay.getContractCode(),payBo.getPayDesc(), pay.getMoney().stripTrailingZeros().toPlainString());
|
||||
service.apply(pay.getId() + "", pay.getContractCode(), payBo.getPayDesc(), pay.getMoney().stripTrailingZeros().toPlainString());
|
||||
}
|
||||
/**
|
||||
* 根据主键id查询回款记录
|
||||
|
@ -155,7 +155,8 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
||||
//查询公司信息
|
||||
List<PsCompanyInfoVo> companyInfoVos = companyInfoMapper.selectVoList(Wrappers.<PsCompanyInfo>lambdaQuery()
|
||||
.in(PsCompanyInfo::getCustomId, ids)
|
||||
.eq(PsCompanyInfo::getDelFlag, 0));
|
||||
.eq(PsCompanyInfo::getDelFlag, 0)
|
||||
.eq(PsCompanyInfo::getCompanyType, "1"));
|
||||
Map<Long, List<PsCompanyInfoVo>> id_companyMap = new HashMap<>();
|
||||
if(CollectionUtils.isNotEmpty(companyInfoVos)){
|
||||
//分组
|
||||
|
@ -121,9 +121,15 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId() + "",null,List.of(ApproverTypeEnum.TASKCANCE.getCode())));
|
||||
|
||||
//装填服务公司信息
|
||||
if (vo.getServiceCompanyId() != null){
|
||||
PsCompanyInfoVo serviceCompany = companyInfoService.queryById(vo.getServiceCompanyId());
|
||||
vo.setPsCompanySerivceVo(serviceCompany);
|
||||
}
|
||||
if (vo.getTaskType().equals("2")){
|
||||
vo.setBusinessTypeName(vo.getBusinessType());
|
||||
}
|
||||
|
||||
}
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
@ -151,9 +157,20 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date()));
|
||||
}
|
||||
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId()+"",null,List.of(ApproverTypeEnum.TASKFINISH.getCode())));
|
||||
|
||||
//装填服务公司信息
|
||||
if (vo.getServiceCompanyId() != null){
|
||||
PsCompanyInfoVo serviceCompany = companyInfoService.queryById(vo.getServiceCompanyId());
|
||||
vo.setPsCompanySerivceVo(serviceCompany);
|
||||
}
|
||||
if ("2".equals(vo.getTaskType())){
|
||||
vo.setBusinessTypeName(vo.getBusinessType());
|
||||
}
|
||||
|
||||
}
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询主任务进度
|
||||
*
|
||||
@ -188,21 +205,24 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
public PsTaskMainVo queryInfo(String id){
|
||||
//查询任务信息
|
||||
PsTaskMain mainTask = baseMapper.selectById(id);
|
||||
Long customId ;
|
||||
Long customId = 0l;
|
||||
Long companyId ;
|
||||
if(mainTask == null){
|
||||
PsContractInfo con = contractInfoMapper.selectOne(Wrappers.<PsContractInfo>lambdaQuery().eq(PsContractInfo::getContractCode, id).last("limit 1"));
|
||||
customId = con.getCustomId();
|
||||
companyId = con.getCompanyId();
|
||||
// PsContractInfo con = contractInfoMapper.selectOne(Wrappers.<PsContractInfo>lambdaQuery().eq(PsContractInfo::getContractCode, id).last("limit 1"));
|
||||
companyId = Long.valueOf(id);
|
||||
PsCompanyInfoVo psCompanyInfoVo = companyInfoService.queryById(companyId);
|
||||
if (psCompanyInfoVo != null){
|
||||
customId = psCompanyInfoVo.getCustomId();
|
||||
}
|
||||
}else{
|
||||
customId = mainTask.getCustomId();
|
||||
companyId = mainTask.getCompanyId();
|
||||
companyId = mainTask.getServiceCompanyId();
|
||||
}
|
||||
|
||||
//查询公司信息
|
||||
PsCompanyInfoVo companyInfoVo = companyInfoService.queryById(companyId);
|
||||
//查询资料信息
|
||||
List<PsTaskMediaVo> list = mediaService.queryMediaList(customId,companyId);
|
||||
List<PsTaskMediaVo> list = mediaService.queryMediaList(customId, companyId);
|
||||
PsTaskMainVo psTaskMainVo = new PsTaskMainVo();
|
||||
psTaskMainVo.setCompanyInfoVo(companyInfoVo);
|
||||
psTaskMainVo.setTaskMediaVoList(list);
|
||||
@ -218,6 +238,13 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
return baseMapper.selectOne(Wrappers.<PsTaskMain>lambdaQuery().eq(PsTaskMain::getContractCode, contractCode)
|
||||
.eq(PsTaskMain::getTaskType,TaskTypeEnum.CONTRACT.getCode()).ne(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()));
|
||||
}
|
||||
|
||||
public PsTaskMain queryByContractCodeAndServiceCompanyId(String contractCode, Long serviceCompanyId){
|
||||
return baseMapper.selectOne(Wrappers.<PsTaskMain>lambdaQuery().eq(PsTaskMain::getContractCode, contractCode)
|
||||
.eq(PsTaskMain::getTaskType, TaskTypeEnum.CONTRACT.getCode())
|
||||
.eq(PsTaskMain::getServiceCompanyId, serviceCompanyId)
|
||||
.ne(PsTaskMain::getTaskStatus, TaskStatusEnum.CANCEL.getCode()));
|
||||
}
|
||||
/**
|
||||
* 上传资料和公司信息
|
||||
*
|
||||
@ -232,10 +259,10 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
Long companyId ;
|
||||
if(save.getId() != null){
|
||||
PsTaskMain taskMain = baseMapper.selectById(save.getId());
|
||||
if(!TaskStatusEnum.canUpload(taskMain.getTaskStatus())){
|
||||
log.error("任务已完成,无法修改");
|
||||
throw new ServiceException("任务已完成,无法修改");
|
||||
}
|
||||
// if(!TaskStatusEnum.canUpload(taskMain.getTaskStatus())){
|
||||
// log.error("任务已完成,无法修改");
|
||||
// throw new ServiceException("任务已完成,无法修改");
|
||||
// }
|
||||
customerId=taskMain.getCustomId();
|
||||
companyId=taskMain.getCompanyId();
|
||||
}else if(StringUtils.isNotBlank(save.getContractCode())){
|
||||
|
@ -3,13 +3,27 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pusong.business.mapper.PsApproverRecordMapper">
|
||||
<select id="selectPageApproverList" resultType="com.pusong.business.domain.vo.PsApproverRecordVo">
|
||||
|
||||
|
||||
<resultMap id="resultMap" type="com.pusong.business.domain.vo.PsApproverRecordVo">
|
||||
<collection columnPrefix="com_" property="psCompanyInfoVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" >
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectPageApproverList" resultMap="resultMap">
|
||||
select app.*
|
||||
, (select pay_certification from ps_contract_pay pca where pca.id = app.business_id and app.business_type = 'pay' ) as pay_certification
|
||||
, info.pdf_id
|
||||
, info.custom_manager
|
||||
, com.id com_id
|
||||
, com.company_name
|
||||
, info.contact_person_name
|
||||
, info.contact_person_phone
|
||||
, info.contact_person_idcard
|
||||
, com.id company_id
|
||||
, com.company_name com_company_name
|
||||
, com.legal_person_name com_legal_person_name
|
||||
, com.legal_person_idcard com_legal_person_idcard
|
||||
, com.legal_person_phone com_legal_person_phone
|
||||
, com.customer_num com_customer_num
|
||||
, cus.id cus_id
|
||||
, cus.custom_name
|
||||
, cus.custom_mobile
|
||||
@ -17,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
, info.contract_amount
|
||||
, (select GROUP_CONCAT(business.business_type SEPARATOR ',')
|
||||
from ps_contract_business business where business.contract_code = info.contract_code) as business_type_name
|
||||
, info.contract_amount
|
||||
, info.contract_status
|
||||
, (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)
|
||||
as pay_money
|
||||
@ -28,6 +42,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="selectPageFreeApproverList" resultMap="resultMap">
|
||||
select app.*
|
||||
, (select pay_certification from ps_contract_pay pca where pca.id = app.business_id and app.business_type = 'pay' ) as pay_certification
|
||||
, com.id com_id
|
||||
, com.company_name com_company_name
|
||||
, com.company_adress com_company_adress
|
||||
, cus.id cus_id
|
||||
, cus.custom_name
|
||||
, cus.custom_mobile
|
||||
, cus.custom_manager
|
||||
from ps_approver_record app
|
||||
left join ps_company_info com on app.business_id = com.id
|
||||
left join ps_custom_info cus on cus.id = com.custom_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectPagePublicList" resultType="com.pusong.business.domain.vo.PsApproverRecordVo">
|
||||
select app.*
|
||||
, cus.custom_source
|
||||
|
@ -19,6 +19,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
</resultMap>
|
||||
|
||||
<select id="selectVoCustomManagerById" resultType="com.pusong.business.domain.vo.PsCompanyInfoVo">
|
||||
select
|
||||
com.*
|
||||
,cus.custom_manager
|
||||
from ps_company_info com
|
||||
left join ps_custom_info cus on cus.id = com.custom_id
|
||||
where com.id = ${id}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="selectPageList" resultMap="serviceCompanyServiceResult">
|
||||
select
|
||||
com.*,
|
||||
@ -36,7 +47,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectPageList2" resultMap="serviceCompanyServiceResult">
|
||||
select
|
||||
com.*,
|
||||
cus.custom_manager,
|
||||
cus.custom_name,
|
||||
cus.custom_mobile,
|
||||
cusi.custom_name custom_introducer,
|
||||
usr.user_id fu_user_id,
|
||||
usr.nick_name fu_nick_name
|
||||
from ps_company_info com
|
||||
left join ps_custom_info cus on com.custom_id = cus.id
|
||||
left join ps_custom_info cusi on cus.custom_introducer = cusi.id
|
||||
left join ps_company_follow cf on com.id = cf.company_id
|
||||
left join sys_user usr on cf.user_id = usr.user_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectServiceCompanyList" resultMap="serviceCompanyServiceResult">
|
||||
select com.*,
|
||||
|
@ -9,23 +9,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</collection>
|
||||
<collection columnPrefix="com_" property="companyInfoVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" >
|
||||
</collection>
|
||||
<collection columnPrefix="scom_" property="psCompanySerivceVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" >
|
||||
</collection>
|
||||
<collection columnPrefix="cus_" property="customInfoVo" ofType="com.pusong.business.domain.vo.PsCustomInfoVo" >
|
||||
</collection>
|
||||
<collection columnPrefix="appoint_" property="psTaskAppointVoList" ofType="com.pusong.business.domain.vo.PsTaskAppointVo" >
|
||||
</collection>
|
||||
|
||||
<collection property="psTaskAppointVoList" javaType="ArrayList"
|
||||
column="main_id" ofType="com.pusong.business.domain.vo.PsTaskAppointVo"
|
||||
select="queryByMainId" fetchType="eager">
|
||||
</collection>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="queryTask">
|
||||
select main.id,
|
||||
main.task_type,
|
||||
main.start_date,
|
||||
main.task_status,
|
||||
main.contract_code,
|
||||
main.invoice,
|
||||
main.extend,
|
||||
main.comment,
|
||||
main.service_company_id,
|
||||
select main.*,
|
||||
main.id main_id,
|
||||
con.is_proxy con_is_proxy,
|
||||
con.apply_date con_apply_date,
|
||||
con.is_due con_is_due,
|
||||
@ -48,11 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
cus.id cus_id,
|
||||
cus.custom_name cus_custom_name ,
|
||||
cus.custom_mobile cus_custom_mobile,
|
||||
appoint.executor appoint_executor,
|
||||
appoint.task_desc appoint_task_desc,
|
||||
appoint.task_content_desc appoint_task_content_desc,
|
||||
appoint.appoint_type appoint_appoint_type,
|
||||
appoint.appoint_status appoint_appoint_status,
|
||||
|
||||
(select pta.id from ps_task_appoint pta where pta.task_id=main.id and pta.appoint_type=1 and pta.appoint_status != '50' and pta.del_flag = '0' order by id desc limit 0,1) as inAppo,
|
||||
(select pta.id from ps_task_appoint pta where pta.task_id=main.id and pta.appoint_type=2 and pta.appoint_status != '50' and pta.del_flag = '0' order by id desc limit 0,1) as outAppo,
|
||||
(select pta.id from ps_task_appoint pta where pta.task_id=main.id and pta.appoint_type=3 and pta.appoint_status != '50' and pta.del_flag = '0' order by id desc limit 0,1) as secAppo,
|
||||
@ -68,7 +65,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join ps_company_info com on con.company_id = com.id
|
||||
left join ps_custom_info cus on con.custom_id = cus.id
|
||||
left join sys_user usr on con.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'
|
||||
</sql>
|
||||
<select id="queryTaskPageList" resultMap="taskMainResult">
|
||||
<include refid="queryTask"/>
|
||||
@ -78,28 +74,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<include refid="queryTask"/>
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="queryByMainId" resultType="com.pusong.business.domain.vo.PsTaskAppointVo">
|
||||
select * from ps_task_appoint
|
||||
where
|
||||
task_id = ${mainId} and appoint_status != '50' and del_flag = '0'
|
||||
</select>
|
||||
<select id="queryChildTaskPageList" resultMap="taskMainResult">
|
||||
select
|
||||
main.task_type,
|
||||
main.start_date,
|
||||
main.task_status,
|
||||
main.contract_code,
|
||||
appo.executor as executors,
|
||||
appo.*,
|
||||
main.*,
|
||||
main.id main_id,
|
||||
main.extend,
|
||||
con.is_proxy con_is_proxy,
|
||||
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,
|
||||
com.id com_id,
|
||||
com.company_adress com_company_adress,
|
||||
com.company_name com_company_name,
|
||||
com.legal_person_name com_legal_person_name,
|
||||
com.legal_person_idcard com_legal_person_idcard,
|
||||
com.legal_person_phone com_legal_person_phone,
|
||||
com.customer_num com_customer_num,
|
||||
com.customer_cert com_customer_cert,
|
||||
com.finance_account_no com_finance_account_no,
|
||||
com.id scom_id,
|
||||
com.company_adress scom_company_adress,
|
||||
com.company_name scom_company_name,
|
||||
com.legal_person_name scom_legal_person_name,
|
||||
com.legal_person_idcard scom_legal_person_idcard,
|
||||
com.legal_person_phone scom_legal_person_phone,
|
||||
com.customer_num scom_customer_num,
|
||||
com.customer_cert scom_customer_cert,
|
||||
com.finance_account_no scom_finance_account_no,
|
||||
cus.id cus_id,
|
||||
cus.custom_name cus_custom_name ,
|
||||
cus.custom_mobile cus_custom_mobile,
|
||||
@ -107,18 +107,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
(select IFNULL(sum(money),0) from ps_contract_pay pay where pay.business_type =1 and pay.contract_code = main.contract_code and pay.pay_status = '1' ) +
|
||||
(select IFNULL(sum(money),0) from ps_contract_pay cpay where cpay.business_type =2 and cpay.contract_code = main.contract_code )
|
||||
) > 0 THEN '半款' ELSE '全款' END) as pay_stauts_desc,
|
||||
appo.executor as executors,
|
||||
appo.appoint_status,
|
||||
appo.id,
|
||||
appo.task_desc,
|
||||
appo.task_content_desc,
|
||||
|
||||
(select GROUP_CONCAT(business.business_type SEPARATOR ',') from ps_contract_business business where business.contract_code = con.contract_code and business.del_flag = '0') as business_type_name
|
||||
-- ,
|
||||
-- appoint.executor appoint_executor,
|
||||
-- appoint.task_desc appoint_task_desc,
|
||||
-- appoint.task_content_desc appoint_task_content_desc,
|
||||
-- appoint.appoint_type appoint_appoint_type,
|
||||
-- appoint.appoint_status appoint_appoint_status
|
||||
from ps_task_appoint appo
|
||||
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_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 sys_user usr on con.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'
|
||||
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
@ -1,2 +0,0 @@
|
||||
%PDF-1.4
|
||||
%粤マモ
|
Loading…
Reference in New Issue
Block a user