任务,服务公司列表
This commit is contained in:
parent
52e23f5bfb
commit
38cf44de52
@ -4,8 +4,10 @@ import java.util.List;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.pusong.business.domain.bo.PsCompanyQueryBo;
|
||||
import com.pusong.business.domain.bo.PsCustomRecordQueryBo;
|
||||
import com.pusong.business.domain.vo.PsCompanyQueryVo;
|
||||
import com.pusong.business.domain.vo.PsContractInfoVo;
|
||||
import com.pusong.business.domain.vo.PsCustomerRecordVo;
|
||||
import com.pusong.common.core.validate.QueryGroup;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
@ -61,6 +63,16 @@ public class PsCompanyInfoController extends BaseController {
|
||||
return psCompanyInfoService.queryPageList(bo,pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 服务公司列表
|
||||
*/
|
||||
@SaCheckPermission("business:customInfo:list")
|
||||
@Log(title = "服务公司列表" )
|
||||
@GetMapping("/serviceList")
|
||||
public TableDataInfo<PsCompanyQueryVo> serviceList(PsCompanyQueryBo queryBo, PageQuery pageQuery) {
|
||||
return psCompanyInfoService.queryServiceCompany(queryBo, pageQuery);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增公司信息
|
||||
|
@ -57,13 +57,6 @@ public class PsContractInfoController extends BaseController {
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/create")
|
||||
public R<Long> add(@Validated(AddGroup.class) @RequestBody PsContractInfoBo bo) {
|
||||
if (bo.getFirstPartyType() == PsContractInfoBo.FIRSTPARTYTYPE.INDIVIDUALS.getType()){
|
||||
bo.setContactPersonName(bo.getCompanyInfoBo().getLegalPersonName());
|
||||
bo.setContactPersonPhone(bo.getCompanyInfoBo().getLegalPersonPhone());
|
||||
bo.setContactPersonIdcard(bo.getCompanyInfoBo().getLegalPersonIdcard());
|
||||
bo.setCompanyInfoBo(null);
|
||||
}
|
||||
|
||||
return R.ok(psContractInfoService.createContract(bo,2));
|
||||
}
|
||||
/**
|
||||
|
@ -136,7 +136,7 @@ public class PsCustomController extends BaseController {
|
||||
|
||||
|
||||
/**
|
||||
* 已完成客户
|
||||
* 已完成客户,, 废弃
|
||||
* @param queryBo 查询
|
||||
* @return
|
||||
*/
|
||||
@ -148,7 +148,6 @@ public class PsCustomController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 移出黑名单
|
||||
* @param customerId 客户id
|
||||
|
@ -179,7 +179,7 @@ public class PsTaskController extends BaseController {
|
||||
@GetMapping("/cancel")
|
||||
@RepeatSubmit()
|
||||
public R<Void> taskReset(@NotNull("任务id不能为空") Long id,@NotNull("作废原因不能为空") String desc) {
|
||||
psTaskMainService.cancel(id,desc);
|
||||
psTaskMainService.cancel(id, desc);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
@ -93,4 +93,9 @@ public class PsTaskMain extends TenantEntity {
|
||||
* 服务公司id
|
||||
*/
|
||||
private Long serviceCompanyId;
|
||||
|
||||
/**
|
||||
* 备注:作废备注
|
||||
*/
|
||||
private String comment;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ public class AppointBo {
|
||||
private String appointType;
|
||||
|
||||
/**
|
||||
* 任务委派类型(1内勤,2外勤,3特勤)
|
||||
* 任务说明
|
||||
*/
|
||||
private String taskContentDesc;
|
||||
}
|
||||
|
@ -48,4 +48,14 @@ public class PsCompanyQueryBo {
|
||||
* 介绍人名称
|
||||
*/
|
||||
private String customIntroducer;
|
||||
|
||||
/**
|
||||
* 服务状态
|
||||
*/
|
||||
private String serviceStatus;
|
||||
/**
|
||||
* 跟进人员
|
||||
*/
|
||||
private String followUser;
|
||||
|
||||
}
|
||||
|
@ -10,6 +10,9 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.pusong.common.excel.annotation.ExcelDictFormat;
|
||||
import com.pusong.common.excel.convert.ExcelDictConvert;
|
||||
import com.pusong.common.translation.annotation.Translation;
|
||||
import com.pusong.common.translation.constant.TransConstant;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
@ -49,7 +52,7 @@ public class PsCompanyInfoVo implements Serializable {
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 公司地址
|
||||
* 公司地址,所属区域
|
||||
*/
|
||||
private String companyAdress;
|
||||
|
||||
@ -153,7 +156,6 @@ public class PsCompanyInfoVo implements Serializable {
|
||||
*/
|
||||
private List<PsContractBusinessVo> businessVoList;
|
||||
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startServiceDate;
|
||||
|
||||
@ -167,4 +169,34 @@ public class PsCompanyInfoVo implements Serializable {
|
||||
* 是否老账新接
|
||||
*/
|
||||
private String isOld;
|
||||
|
||||
/**
|
||||
* 跟进人员
|
||||
*/
|
||||
private List<SysUser> followUsers;
|
||||
|
||||
/**
|
||||
* 客户姓名
|
||||
*/
|
||||
private String customName;
|
||||
/**
|
||||
* 客户手机号
|
||||
*/
|
||||
private String customMobile;
|
||||
|
||||
/**
|
||||
* 销售经理
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME)
|
||||
private Long customManager;
|
||||
|
||||
/**
|
||||
* 服务状态
|
||||
*/
|
||||
private Integer serviceStatus;
|
||||
|
||||
/**
|
||||
* 服务状态
|
||||
*/
|
||||
private String terminationReason;
|
||||
}
|
||||
|
@ -60,11 +60,16 @@ public class PsTaskAppointVo implements Serializable {
|
||||
/**
|
||||
* 任务执行者
|
||||
*/
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME,mapper = "executor")
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "executor")
|
||||
private String executorName;
|
||||
|
||||
/**
|
||||
* 任务备注
|
||||
*/
|
||||
private String taskDesc;
|
||||
|
||||
/**
|
||||
* 工作说明
|
||||
*/
|
||||
private String taskContentDesc;
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.pusong.business.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.pusong.business.domain.PsTaskAppoint;
|
||||
import com.pusong.business.domain.PsTaskMain;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.pusong.common.excel.annotation.ExcelDictFormat;
|
||||
@ -130,12 +131,17 @@ public class PsTaskMainVo implements Serializable {
|
||||
*/
|
||||
private String secAppo;
|
||||
/**
|
||||
* 任务备注
|
||||
* 任务备注,子任务里的备注,queryChildTaskPageList查询的时候存储到这个字段了
|
||||
*/
|
||||
private String taskDesc;
|
||||
|
||||
/**
|
||||
* 任务备注
|
||||
* 任务备注,存储了作废原因
|
||||
*/
|
||||
private String comment;
|
||||
|
||||
/**
|
||||
* 任务备注,子任务里的工作内容描述,queryChildTaskPageList查询的时候存储到这个字段了
|
||||
*/
|
||||
private String taskContentDesc;
|
||||
|
||||
@ -148,5 +154,18 @@ public class PsTaskMainVo implements Serializable {
|
||||
* 发票信息
|
||||
*/
|
||||
private PsInvoiceVo psInvoiceVo;
|
||||
|
||||
/**
|
||||
* 服务公司信息
|
||||
*/
|
||||
private PsCompanyInfoVo psCompanySerivceVo;
|
||||
|
||||
|
||||
/**
|
||||
* 服务公司id
|
||||
*/
|
||||
private Long serviceCompanyId;
|
||||
|
||||
private List<PsTaskAppointVo> psTaskAppointVoList;
|
||||
}
|
||||
|
||||
|
@ -24,4 +24,6 @@ public interface PsCompanyInfoMapper extends BaseMapperPlus<PsCompanyInfo, PsCom
|
||||
Page<PsCompanyQueryVo> selectPageList(@Param("page") Page<PsApproverRecord> page, @Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
|
||||
List<PsCompanyInfoVo> selectServiceCompanyList(@Param(Constants.WRAPPER) Wrapper<PsCompanyInfoVo> queryWrapper);
|
||||
|
||||
|
||||
}
|
||||
|
@ -41,6 +41,9 @@ public interface IPsCompanyInfoService {
|
||||
*/
|
||||
TableDataInfo<PsCompanyQueryVo> queryPageList(PsCompanyQueryBo bo, PageQuery pageQuery);
|
||||
|
||||
TableDataInfo<PsCompanyQueryVo> queryServiceCompany(PsCompanyQueryBo bo, PageQuery pageQuery);
|
||||
|
||||
|
||||
/**
|
||||
* 新增公司信息
|
||||
*
|
||||
|
@ -45,6 +45,7 @@ public class TaskCancellaApproverServiceImpl extends ApproverAbstractServiceImpl
|
||||
//主任务作废
|
||||
PsTaskMain info = taskMainMapper.selectById(psApproverRecord.getBusinessId());
|
||||
info.setTaskStatus(TaskStatusEnum.CANCEL.getCode());
|
||||
info.setComment(psApproverRecord.getApplyDesc());
|
||||
taskMainMapper.updateById(info);
|
||||
List<PsTaskAppoint> list = taskAppointMapper.selectList(Wrappers.<PsTaskAppoint>lambdaQuery().eq(PsTaskAppoint::getTaskId, info.getId()));
|
||||
|
||||
|
@ -81,13 +81,30 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
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.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);
|
||||
|
||||
return TableDataInfo.build(result);
|
||||
|
||||
}
|
||||
/**
|
||||
* 查询符合条件的公司信息列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 公司信息列表
|
||||
*/
|
||||
public TableDataInfo<PsCompanyQueryVo> 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.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);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
private LambdaQueryWrapper<PsCompanyInfo> buildQueryWrapper(PsCompanyInfoBo bo) {
|
||||
LambdaQueryWrapper<PsCompanyInfo> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getId() != null, PsCompanyInfo::getId, bo.getId());
|
||||
@ -201,4 +218,6 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -95,6 +95,13 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
@Override
|
||||
@Transactional//开启事务
|
||||
public Long createContract(PsContractInfoBo bo, Integer type) {
|
||||
if (bo.getFirstPartyType() == PsContractInfoBo.FIRSTPARTYTYPE.INDIVIDUALS.getType()){
|
||||
bo.setContactPersonName(bo.getCompanyInfoBo().getLegalPersonName());
|
||||
bo.setContactPersonPhone(bo.getCompanyInfoBo().getLegalPersonPhone());
|
||||
bo.setContactPersonIdcard(bo.getCompanyInfoBo().getLegalPersonIdcard());
|
||||
// bo.setCompanyInfoBo(null);
|
||||
}
|
||||
|
||||
//1校验
|
||||
PsContractInfo add = validEntity(bo, UserConstants.YES);
|
||||
|
||||
|
@ -118,7 +118,11 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
vo.setNumOfDat(DateUtils.calWorkDate(vo.getStartDate(),new Date()));
|
||||
}
|
||||
//任务作废审批
|
||||
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId()+"",null,List.of(ApproverTypeEnum.TASKCANCE.getCode())));
|
||||
vo.setTaskStatusDesc(approverRecordService.getLastFail(vo.getId() + "",null,List.of(ApproverTypeEnum.TASKCANCE.getCode())));
|
||||
|
||||
//装填服务公司信息
|
||||
PsCompanyInfoVo serviceCompany = companyInfoService.queryById(vo.getServiceCompanyId());
|
||||
vo.setPsCompanySerivceVo(serviceCompany);
|
||||
}
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
@ -367,9 +371,11 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
if(!AppointStatusEnum.canFinish(appoint.getAppointStatus())){
|
||||
throw new ServiceException("此任务无法执行此操作,请刷新页面后重新操作");
|
||||
}
|
||||
ApproverService service = approverContainer.getService(ApproverTypeEnum.TASKFINISH.getCode());
|
||||
service.apply(id+"",appoint.getContractCode(),desc,appoint.getAppointType());
|
||||
appoint.setAppointStatus(AppointStatusEnum.OA.getCode());
|
||||
// ApproverService service = approverContainer.getService(ApproverTypeEnum.TASKFINISH.getCode());
|
||||
// service.apply(id+"",appoint.getContractCode(),desc,appoint.getAppointType());
|
||||
// appoint.setAppointStatus(AppointStatusEnum.OA.getCode());
|
||||
appoint.setAppointStatus(TaskStatusEnum.AppointStatusEnum.FINISH.getCode());
|
||||
appoint.setFinishDate(new Date());
|
||||
appoint.setTaskDesc(desc);
|
||||
appointMapper.updateById(appoint);
|
||||
}
|
||||
@ -411,14 +417,14 @@ public class PsTaskServiceImpl implements IPsTaskService {
|
||||
* @param id 任务主表id
|
||||
* @param desc 作废原因
|
||||
*/
|
||||
public void cancel(Long id,String desc){
|
||||
public void cancel(Long id, String desc){
|
||||
PsTaskMain info = baseMapper.selectById(id);
|
||||
if(!StringUtils.equals(TaskTypeEnum.FREE.getCode(),info.getTaskType())){
|
||||
throw new ServiceException("只有免费工单的任务可以作废");
|
||||
}
|
||||
//发起审批
|
||||
ApproverService service = approverContainer.getService(ApproverTypeEnum.TASKCANCE.getCode());
|
||||
service.apply(id+"",info.getContractCode(),null,info.getTaskStatus());
|
||||
service.apply(id+"", info.getContractCode(),desc, info.getTaskStatus());
|
||||
//修改状态为审批中
|
||||
info.setTaskStatus(TaskStatusEnum.CANCELAPPO.getCode());
|
||||
baseMapper.updateById(info);
|
||||
|
@ -11,26 +11,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</collection>
|
||||
</collection>
|
||||
|
||||
<collection columnPrefix="fu_" property="followUsers" ofType="com.pusong.system.domain.vo.SysUserVo" >
|
||||
|
||||
|
||||
</collection>
|
||||
|
||||
|
||||
</resultMap>
|
||||
|
||||
<select id="selectPageList" resultType="com.pusong.business.domain.vo.PsCompanyQueryVo">
|
||||
select cus.custom_manager,
|
||||
com.company_name,
|
||||
com.customer_num,
|
||||
com.legal_person_name,
|
||||
com.legal_person_idcard,
|
||||
<select id="selectPageList" resultMap="serviceCompanyServiceResult">
|
||||
select
|
||||
com.*,
|
||||
cus.custom_manager,
|
||||
cus.custom_name,
|
||||
cus.custom_mobile,
|
||||
cusi.custom_name custom_introducer,
|
||||
com.create_time
|
||||
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.*,
|
||||
bus.business_amount bus_business_amount,
|
||||
@ -58,4 +65,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
@ -11,6 +11,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</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>
|
||||
</resultMap>
|
||||
|
||||
|
||||
@ -22,6 +24,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
main.contract_code,
|
||||
main.invoice,
|
||||
main.extend,
|
||||
main.comment,
|
||||
main.service_company_id,
|
||||
con.is_proxy con_is_proxy,
|
||||
con.apply_date con_apply_date,
|
||||
con.is_due con_is_due,
|
||||
@ -44,6 +48,11 @@ 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,
|
||||
@ -51,15 +60,15 @@ 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,
|
||||
(select GROUP_CONCAT(appoint.executor SEPARATOR ',')
|
||||
from ps_task_appoint appoint where appoint.task_id = main.id and appoint.appoint_status != '50' and appoint.del_flag = '0') as executors,
|
||||
(select GROUP_CONCAT(business.business_type SEPARATOR ',')
|
||||
from ps_contract_business business where business.contract_code = con.contract_code and business.company_id = main.service_company_id and business.del_flag = '0') as business_type_name
|
||||
-- (select GROUP_CONCAT(appoint.executor SEPARATOR ',') from ps_task_appoint appoint where appoint.task_id = main.id and appoint.appoint_status != '50' and appoint.del_flag = '0') as executors,
|
||||
-- (select GROUP_CONCAT(appoint.task_desc SEPARATOR ',') from ps_task_appoint appoint where appoint.task_id = main.id and appoint.appoint_status != '50' and appoint.del_flag = '0') as taskDesc,
|
||||
(select GROUP_CONCAT(business.business_type SEPARATOR ',') from ps_contract_business business where business.contract_code = con.contract_code and business.company_id = main.service_company_id and business.del_flag = '0') as business_type_name
|
||||
from ps_task_main main
|
||||
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_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"/>
|
||||
@ -103,14 +112,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
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
|
||||
(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
|
||||
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_custom_info cus on con.custom_id = cus.id
|
||||
left join sys_user usr on con.custom_manager = usr.user_id
|
||||
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user