bug
This commit is contained in:
parent
822cf45ccd
commit
29b43bf087
@ -6,6 +6,7 @@ import com.pusong.business.domain.PsCompanyInfo;
|
||||
import com.pusong.common.translation.annotation.Translation;
|
||||
import com.pusong.common.translation.constant.TransConstant;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import com.pusong.system.domain.vo.SysUserVo;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
@ -183,7 +184,7 @@ public class PsCompanyInfoVo implements Serializable {
|
||||
/**
|
||||
* 跟进人员
|
||||
*/
|
||||
private List<SysUser> followUsers;
|
||||
private List<SysUserVo> followUsers;
|
||||
|
||||
/**
|
||||
* 客户姓名
|
||||
|
@ -9,6 +9,8 @@ import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||
import com.pusong.common.mybatis.annotation.DataColumn;
|
||||
import com.pusong.common.mybatis.annotation.DataPermission;
|
||||
import com.pusong.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import com.pusong.system.domain.vo.SysUserVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@ -33,5 +35,5 @@ public interface PsCompanyInfoMapper extends BaseMapperPlus<PsCompanyInfo, PsCom
|
||||
|
||||
List<PsCompanyInfoVo> selectVoCustomManager(@Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper, @Param("contractCode")String contractCode);
|
||||
|
||||
|
||||
List<SysUserVo> selectFollowUser(@Param(Constants.WRAPPER) Wrapper<PsCompanyInfo> queryWrapper);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ public interface IPsApproverRecordService {
|
||||
* @param from 0通用审批 1财务审批代账 2总裁审批代账
|
||||
* @return
|
||||
*/
|
||||
String approver(String operate, String [] id,String desc, int from);
|
||||
String[] approver(String operate, String [] id,String desc, int from);
|
||||
|
||||
/**
|
||||
* 根据条件查询最后一条审批失败的原因
|
||||
|
@ -127,7 +127,7 @@ public interface IPsContractInfoService {
|
||||
* 合同完成
|
||||
* @param contractCode 合同编码
|
||||
*/
|
||||
String finish(String contractCode);
|
||||
String finish(String... contractCodes);
|
||||
|
||||
|
||||
/**
|
||||
|
@ -50,7 +50,6 @@ public class RolbackApproverServiceImpl extends ApproverAbstractServiceImpl {
|
||||
|
||||
PsContractInfoVo src = contractInfoService.queryContractByCode(psApproverRecord.getContractCode());
|
||||
noticeService.sendNotice(SysNoticeBo.getPdfRolbackInstance(src.getCustomManager(), src.getPsCustomInfoVo().getCustomName()));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -94,7 +94,8 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public String approver(String operate, String[] ids, String desc, int from){
|
||||
public String[] approver(String operate, String[] ids, String desc, int from){
|
||||
List<String> contractCodeList = new ArrayList<>();
|
||||
for (String idStr : ids) {
|
||||
Long id = Long.valueOf(idStr);
|
||||
PsApproverRecord info = baseMapper.selectById(id);
|
||||
@ -124,14 +125,15 @@ public class PsApproverRecordServiceImpl implements IPsApproverRecordService {
|
||||
info.setApproverDate(new Date());
|
||||
|
||||
baseMapper.updateById(info);
|
||||
contractCodeList.add(info.getContractCode());
|
||||
}
|
||||
// if(StringUtils.equals(info.getBusinessType(), ApproverTypeEnum.PAY.getCode())||
|
||||
// StringUtils.equals(info.getBusinessType(),ApproverTypeEnum.ROLBACK.getCode())||
|
||||
// StringUtils.equals(info.getBusinessType(),ApproverTypeEnum.TASKFINISH.getCode())){
|
||||
//
|
||||
// }
|
||||
// return ids;
|
||||
return null;
|
||||
return contractCodeList.toArray(new String[contractCodeList.size()]);
|
||||
// return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -24,6 +24,9 @@ import com.pusong.common.core.utils.MapstructUtils;
|
||||
import com.pusong.common.core.utils.StringUtils;
|
||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||
import com.pusong.system.domain.SysUser;
|
||||
import com.pusong.system.domain.vo.SysUserVo;
|
||||
import com.pusong.system.mapper.SysUserMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.slf4j.Logger;
|
||||
@ -31,6 +34,7 @@ import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -57,6 +61,8 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
@Resource
|
||||
private PsApproverRecordMapper recordMapper;
|
||||
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
/**
|
||||
* 查询公司信息
|
||||
*
|
||||
@ -136,7 +142,9 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
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.getUserName()),"select 1 from sys_user fsu where fsu.user_id = cf.user_id and fsu.nick_name like '%"+bo.getUserName()+"%'");
|
||||
lqw.exists(StringUtils.isNotBlank(bo.getUserName()),"select 1 from sys_user fsu LEFT JOIN ps_company_follow cf on com.id = cf.company_id where fsu.user_id = cf.user_id and fsu.nick_name like '%"+bo.getUserName()+"%'");
|
||||
lqw.exists("select 1 FROM ps_contract_company cc inner join ps_contract_pay pay on pay.contract_code = cc.contract_code where cc.company_id = com.id");
|
||||
|
||||
|
||||
StringBuilder sql = new StringBuilder("select 1 from ps_contract_business cb where cb.company_id = com.id ");
|
||||
if (bo.getType() == 2){ //非托管
|
||||
@ -157,7 +165,17 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||
queryParam.in("cc.company_id", companyIds);
|
||||
List<PsContractBusinessVo> psContractBusinessVos = contractBusinessMapper.selectTuoGuanBusinessList(queryParam);
|
||||
Map<Long, List<PsContractBusinessVo>> contractBusinessVoMap = psContractBusinessVos.stream().collect(Collectors.groupingBy(PsContractBusinessVo::getCompanyId, Collectors.toList()));
|
||||
|
||||
QueryWrapper<PsCompanyInfo> query = Wrappers.query();
|
||||
query.in("cf.company_id", companyIds);
|
||||
List<SysUserVo> sysUsers = baseMapper.selectFollowUser(query);
|
||||
Map<Long, List<SysUserVo>> userMap = new HashMap<>();
|
||||
for (SysUserVo sysUser : sysUsers) {
|
||||
List<SysUserVo> list = userMap.computeIfAbsent(sysUser.getCompanyId(), aLong -> new ArrayList<>());
|
||||
list.add(sysUser);
|
||||
}
|
||||
for (PsCompanyInfoVo record : result.getRecords()) {
|
||||
record.setFollowUsers(userMap.get(record.getId()));
|
||||
record.setBusinessVoList(contractBusinessVoMap.get(record.getId()));
|
||||
if (record.getBusinessVoList() == null){
|
||||
continue;
|
||||
|
@ -791,18 +791,23 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
* 1. 回款全部完成
|
||||
* 2. 任务全部完成
|
||||
* 3. 回传合同:根据【回传合同的条件】进行判断,必须回传合同的,需回传合同后审批通过,才能算完成。
|
||||
* @param contractCode 合同编码
|
||||
* @param contractCodes 合同编码
|
||||
*/
|
||||
@Transactional
|
||||
public String finish(String contractCode) {
|
||||
public String finish(String... contractCodes) {
|
||||
for (String contractCode : contractCodes) {
|
||||
if (StringUtils.isBlank(contractCode)) {
|
||||
return "contractCode 参数错误";
|
||||
// return "contractCode 参数错误";
|
||||
continue;
|
||||
}
|
||||
Long num = taskMainMapper.selectCount(Wrappers.<PsTaskMain>lambdaQuery()
|
||||
.eq(PsTaskMain::getContractCode, contractCode)
|
||||
.ne(PsTaskMain::getTaskType, TaskTypeEnum.INVOICE.getCode())
|
||||
.notIn(PsTaskMain::getTaskStatus, TaskStatusEnum.returnFinish()));
|
||||
PsContractInfoVo info = this.queryContractByCode(contractCode);
|
||||
if (info == null){
|
||||
continue;
|
||||
}
|
||||
//任务已完成 合同已回传 回款已结束
|
||||
boolean rollbackFlag = true;
|
||||
|
||||
@ -838,20 +843,24 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
||||
}
|
||||
}
|
||||
if (!rollbackFlag){
|
||||
return "未回传合同";
|
||||
// return "未回传合同";
|
||||
continue;
|
||||
}
|
||||
|
||||
if(num > 0){
|
||||
return "还有未完任务";
|
||||
// return "还有未完任务";
|
||||
continue;
|
||||
}
|
||||
if (info.getResidualMoney().compareTo(BigDecimal.ZERO) > 0){
|
||||
return "还有未回款";
|
||||
// return "还有未回款";
|
||||
continue;
|
||||
}
|
||||
PsContractInfo psContractInfo = new PsContractInfo();
|
||||
psContractInfo.setContractCode(contractCode);
|
||||
psContractInfo.setContractStatus(ContractStatusEnum.SUCCESS.getCode());
|
||||
psContractInfo.setFinishDate(new Date());
|
||||
this.updateByCode(psContractInfo);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -78,8 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
cus.custom_name,
|
||||
cus.custom_mobile,
|
||||
cusi.custom_name custom_introducer,
|
||||
usr.user_id fu_user_id,
|
||||
usr.nick_name fu_nick_name,
|
||||
|
||||
app1.id app_id,
|
||||
app1.apply_desc app_apply_desc,
|
||||
app1.approver_status app_approver_status,
|
||||
@ -87,8 +86,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
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
|
||||
left join (
|
||||
SELECT business_id, max(apply_date) max_apply_date
|
||||
FROM ps_approver_record
|
||||
@ -131,6 +128,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join ps_contract_business_detail det on det.business_id = bus.id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectFollowUser" resultType="com.pusong.system.domain.vo.SysUserVo">
|
||||
select u.*,cf.company_id from ps_company_follow cf
|
||||
inner join sys_user u on u.user_id = cf.user_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
@ -108,7 +108,6 @@ public class SysUser extends TenantEntity {
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
|
||||
public SysUser(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
@ -145,5 +145,9 @@ public class SysUserVo implements Serializable {
|
||||
* 1时需要后台开通 2需要手机号授权登录,
|
||||
*/
|
||||
private Integer code;
|
||||
/**
|
||||
* 公司id
|
||||
*/
|
||||
private Long companyId;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user