bug
This commit is contained in:
parent
94dca1b4a1
commit
566d4fa0cc
@ -84,6 +84,8 @@ public interface IPsCompanyInfoService {
|
|||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
Boolean deleteWithValidByIds2(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据合同编码查询服务公司信息
|
* 根据合同编码查询服务公司信息
|
||||||
*/
|
*/
|
||||||
|
@ -1,38 +1,38 @@
|
|||||||
package com.pusong.business.service.impl;
|
package com.pusong.business.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.pusong.business.domain.PsCompanyInfo;
|
||||||
import com.pusong.business.domain.PsContractCompany;
|
import com.pusong.business.domain.PsContractCompany;
|
||||||
import com.pusong.business.domain.PsContractInfo;
|
import com.pusong.business.domain.PsContractInfo;
|
||||||
import com.pusong.business.domain.PsContractPay;
|
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
||||||
import com.pusong.business.domain.bo.PsCompanyQueryBo;
|
import com.pusong.business.domain.bo.PsCompanyQueryBo;
|
||||||
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
import com.pusong.business.domain.bo.PsContractBusinessBo;
|
||||||
|
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
||||||
import com.pusong.business.enums.ApproverTypeEnum;
|
import com.pusong.business.enums.ApproverTypeEnum;
|
||||||
import com.pusong.business.enums.PayStatusEnum;
|
import com.pusong.business.mapper.PsCompanyInfoMapper;
|
||||||
import com.pusong.business.mapper.PsContractCompanyMapper;
|
import com.pusong.business.mapper.PsContractCompanyMapper;
|
||||||
import com.pusong.business.mapper.PsContractInfoMapper;
|
import com.pusong.business.mapper.PsContractInfoMapper;
|
||||||
|
import com.pusong.business.service.IPsCompanyInfoService;
|
||||||
import com.pusong.business.service.approver.ApproverContainer;
|
import com.pusong.business.service.approver.ApproverContainer;
|
||||||
import com.pusong.business.service.approver.ApproverService;
|
import com.pusong.business.service.approver.ApproverService;
|
||||||
import com.pusong.common.core.exception.ServiceException;
|
import com.pusong.common.core.exception.ServiceException;
|
||||||
import com.pusong.common.core.utils.MapstructUtils;
|
import com.pusong.common.core.utils.MapstructUtils;
|
||||||
import com.pusong.common.core.utils.StringUtils;
|
import com.pusong.common.core.utils.StringUtils;
|
||||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.pusong.business.domain.bo.PsCompanyInfoBo;
|
|
||||||
import com.pusong.business.domain.vo.PsCompanyInfoVo;
|
|
||||||
import com.pusong.business.domain.PsCompanyInfo;
|
|
||||||
import com.pusong.business.mapper.PsCompanyInfoMapper;
|
|
||||||
import com.pusong.business.service.IPsCompanyInfoService;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 公司信息Service业务层处理
|
* 公司信息Service业务层处理
|
||||||
@ -44,6 +44,8 @@ import java.util.Collection;
|
|||||||
@Service
|
@Service
|
||||||
public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
||||||
|
|
||||||
|
Logger logger = LoggerFactory.getLogger(PsCompanyInfoServiceImpl.class);
|
||||||
|
|
||||||
private final PsCompanyInfoMapper baseMapper;
|
private final PsCompanyInfoMapper baseMapper;
|
||||||
private final PsContractCompanyMapper contractCompanyMapper;
|
private final PsContractCompanyMapper contractCompanyMapper;
|
||||||
private final PsContractInfoMapper contractInfoMapper;
|
private final PsContractInfoMapper contractInfoMapper;
|
||||||
@ -247,9 +249,28 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if (ids.isEmpty()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if(isValid){
|
if(isValid){
|
||||||
List<PsContractInfo> list = contractInfoMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery().in(PsContractInfo::getCompanyId, ids).eq(PsContractInfo::getDelFlag, "0"));
|
List<PsContractInfo> list = contractInfoMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery().in(PsContractInfo::getCompanyId, ids).eq(PsContractInfo::getDelFlag, "0"));
|
||||||
if(CollectionUtils.isNotEmpty(list)){throw new ServiceException("删除公司失败,已有合同使用");}
|
if(CollectionUtils.isNotEmpty(list)){
|
||||||
|
logger.error("", "删除公司失败,已有合同使用");
|
||||||
|
throw new ServiceException("删除公司失败,已有合同使用");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds2(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if (ids.isEmpty()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(isValid){
|
||||||
|
List<PsContractInfo> list = contractInfoMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery().in(PsContractInfo::getCompanyId, ids).eq(PsContractInfo::getDelFlag, "0"));
|
||||||
|
if(CollectionUtils.isNotEmpty(list)){
|
||||||
|
logger.error("", "删除公司失败,已有合同使用");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return baseMapper.deleteBatchIds(ids) > 0;
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,15 @@ package com.pusong.business.service.impl;
|
|||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.pusong.business.domain.*;
|
import com.pusong.business.domain.*;
|
||||||
import com.pusong.business.domain.bo.*;
|
import com.pusong.business.domain.bo.*;
|
||||||
import com.pusong.business.domain.vo.*;
|
import com.pusong.business.domain.vo.*;
|
||||||
import com.pusong.business.enums.*;
|
import com.pusong.business.enums.*;
|
||||||
import com.pusong.business.enums.TaskStatusEnum.*;
|
import com.pusong.business.enums.TaskStatusEnum.AppointStatusEnum;
|
||||||
import com.pusong.business.mapper.*;
|
import com.pusong.business.mapper.*;
|
||||||
import com.pusong.business.service.*;
|
import com.pusong.business.service.*;
|
||||||
import com.pusong.business.service.approver.ApproverContainer;
|
import com.pusong.business.service.approver.ApproverContainer;
|
||||||
@ -17,16 +18,13 @@ import com.pusong.business.service.approver.ApproverService;
|
|||||||
import com.pusong.common.core.constant.UserConstants;
|
import com.pusong.common.core.constant.UserConstants;
|
||||||
import com.pusong.common.core.domain.model.LoginUser;
|
import com.pusong.common.core.domain.model.LoginUser;
|
||||||
import com.pusong.common.core.exception.ServiceException;
|
import com.pusong.common.core.exception.ServiceException;
|
||||||
import com.pusong.common.core.service.DictService;
|
|
||||||
import com.pusong.common.core.utils.DateUtils;
|
import com.pusong.common.core.utils.DateUtils;
|
||||||
import com.pusong.common.core.utils.MapstructUtils;
|
import com.pusong.common.core.utils.MapstructUtils;
|
||||||
import com.pusong.common.core.utils.StringUtils;
|
import com.pusong.common.core.utils.StringUtils;
|
||||||
import com.pusong.common.doc.util.NumBerTool;
|
import com.pusong.common.doc.util.NumBerTool;
|
||||||
import com.pusong.common.doc.util.PdfGenerator;
|
import com.pusong.common.doc.util.PdfGenerator;
|
||||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.pusong.common.satoken.utils.LoginHelper;
|
import com.pusong.common.satoken.utils.LoginHelper;
|
||||||
import com.pusong.system.domain.SysDictData;
|
import com.pusong.system.domain.SysDictData;
|
||||||
import com.pusong.system.domain.vo.SysOssVo;
|
import com.pusong.system.domain.vo.SysOssVo;
|
||||||
@ -625,9 +623,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
map.put("user", user);
|
map.put("user", user);
|
||||||
map.put("contract", add);
|
map.put("contract", add);
|
||||||
map.put("business", detailBos);
|
map.put("business", detailBos);
|
||||||
|
|
||||||
map.put("serviceCompany", bo.getServiceCompanyInfoList());
|
map.put("serviceCompany", bo.getServiceCompanyInfoList());
|
||||||
|
|
||||||
map.put("main", JSON.parseObject(main.getRemark()));// 合同主体信息
|
map.put("main", JSON.parseObject(main.getRemark()));// 合同主体信息
|
||||||
map.put("company", bo.getCompanyInfoBo());
|
map.put("company", bo.getCompanyInfoBo());
|
||||||
map.put("customer",customer);
|
map.put("customer",customer);
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.pusong.business.service.impl;
|
package com.pusong.business.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
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.*;
|
||||||
import com.pusong.business.domain.bo.*;
|
import com.pusong.business.domain.bo.*;
|
||||||
import com.pusong.business.domain.vo.*;
|
import com.pusong.business.domain.vo.*;
|
||||||
@ -16,22 +16,19 @@ import com.pusong.business.enums.CustomerStatusEnum;
|
|||||||
import com.pusong.business.mapper.*;
|
import com.pusong.business.mapper.*;
|
||||||
import com.pusong.business.service.IPsApproverRecordService;
|
import com.pusong.business.service.IPsApproverRecordService;
|
||||||
import com.pusong.business.service.IPsCompanyInfoService;
|
import com.pusong.business.service.IPsCompanyInfoService;
|
||||||
|
import com.pusong.business.service.IPsCustomInfoService;
|
||||||
import com.pusong.business.service.approver.ApproverContainer;
|
import com.pusong.business.service.approver.ApproverContainer;
|
||||||
import com.pusong.business.service.approver.ApproverService;
|
import com.pusong.business.service.approver.ApproverService;
|
||||||
import com.pusong.common.core.exception.ServiceException;
|
import com.pusong.common.core.exception.ServiceException;
|
||||||
import com.pusong.common.core.utils.DateUtils;
|
import com.pusong.common.core.utils.DateUtils;
|
||||||
import com.pusong.common.core.utils.MapstructUtils;
|
import com.pusong.common.core.utils.MapstructUtils;
|
||||||
import com.pusong.common.core.utils.StringUtils;
|
import com.pusong.common.core.utils.StringUtils;
|
||||||
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import com.pusong.common.mybatis.core.page.PageQuery;
|
import com.pusong.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.pusong.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.pusong.common.satoken.utils.LoginHelper;
|
import com.pusong.common.satoken.utils.LoginHelper;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.pusong.business.service.IPsCustomInfoService;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@ -285,7 +282,30 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
//修改公司信息
|
//修改公司信息
|
||||||
if(CollectionUtils.isNotEmpty(bo.getCompanyInfoBos())){
|
if(CollectionUtils.isNotEmpty(bo.getCompanyInfoBos())){
|
||||||
bo.getCompanyInfoBos().forEach(item->{item.setCustomId(bo.getId());item.setCompanyType("1");});
|
bo.getCompanyInfoBos().forEach(item->{item.setCustomId(bo.getId());item.setCompanyType("1");});
|
||||||
companyInfoService.saveBatchBo(bo.getCompanyInfoBos());
|
|
||||||
|
PsCompanyInfoBo q = new PsCompanyInfoBo();
|
||||||
|
q.setCustomId(bo.getId());
|
||||||
|
|
||||||
|
// List<PsCompanyInfoVo> existsCompany = companyInfoService.queryList(q);
|
||||||
|
// Map<String, PsCompanyInfoVo> existsCompanyMap = existsCompany.stream()
|
||||||
|
// .collect(Collectors.toMap(PsCompanyInfoVo::getCompanyName, Function.identity()));
|
||||||
|
|
||||||
|
List<Long> removeIds = new ArrayList<>();
|
||||||
|
Map<String, PsCompanyInfoBo> updateCompanyMap = new HashMap<>();
|
||||||
|
for (PsCompanyInfoBo companyInfoBo : bo.getCompanyInfoBos()) {
|
||||||
|
PsCompanyInfoBo lastCompanyInfoBo = updateCompanyMap.get(companyInfoBo.getCompanyName());
|
||||||
|
if (lastCompanyInfoBo != null && lastCompanyInfoBo.getId() != null){
|
||||||
|
if (companyInfoBo.getId() != null){
|
||||||
|
removeIds.add(companyInfoBo.getId());
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
updateCompanyMap.put(companyInfoBo.getCompanyName(), companyInfoBo);
|
||||||
|
}
|
||||||
|
companyInfoService.deleteWithValidByIds2(removeIds, true);
|
||||||
|
|
||||||
|
|
||||||
|
companyInfoService.saveBatchBo(new ArrayList<>(updateCompanyMap.values()));
|
||||||
}
|
}
|
||||||
if(CollectionUtils.isNotEmpty(bo.getCompanyIds())){
|
if(CollectionUtils.isNotEmpty(bo.getCompanyIds())){
|
||||||
companyInfoService.deleteWithValidByIds(bo.getCompanyIds(),true);
|
companyInfoService.deleteWithValidByIds(bo.getCompanyIds(),true);
|
||||||
@ -318,10 +338,12 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
|
|||||||
case 1://移入公海
|
case 1://移入公海
|
||||||
psCustomInfo.setCustomStatus(CustomerStatusEnum.PUBLIC.getCode());
|
psCustomInfo.setCustomStatus(CustomerStatusEnum.PUBLIC.getCode());
|
||||||
//拼装历史的所属客户经理
|
//拼装历史的所属客户经理
|
||||||
if(StringUtils.isBlank(psCustomInfo.getHistoryCustomManager())){
|
if (psCustomInfo.getCustomManager() != null){
|
||||||
psCustomInfo.setHistoryCustomManager(psCustomInfo.getCustomManager()+"");
|
if(StringUtils.isBlank(psCustomInfo.getHistoryCustomManager())){
|
||||||
}else {
|
psCustomInfo.setHistoryCustomManager(psCustomInfo.getCustomManager()+"");
|
||||||
psCustomInfo.setHistoryCustomManager(psCustomInfo.getHistoryCustomManager()+","+psCustomInfo.getCustomManager());
|
}else {
|
||||||
|
psCustomInfo.setHistoryCustomManager(psCustomInfo.getHistoryCustomManager() + "," + psCustomInfo.getCustomManager());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
wq.set(PsCustomInfo::getCustomManager,null);
|
wq.set(PsCustomInfo::getCustomManager,null);
|
||||||
psCustomInfo.setCustomManager(null);
|
psCustomInfo.setCustomManager(null);
|
||||||
|
@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
|
|
||||||
<resultMap id="resultMap" type="com.pusong.business.domain.vo.PsApproverRecordVo">
|
<resultMap id="resultMap" type="com.pusong.business.domain.vo.PsApproverRecordVo">
|
||||||
|
<id column="id" property="id"></id>
|
||||||
<association columnPrefix="pay_" property="psContractPayVo" javaType="com.pusong.business.domain.vo.PsContractPayVo" >
|
<association columnPrefix="pay_" property="psContractPayVo" javaType="com.pusong.business.domain.vo.PsContractPayVo" >
|
||||||
</association>
|
</association>
|
||||||
<collection columnPrefix="com_" property="psCompanyInfoVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" >
|
<collection columnPrefix="com_" property="psCompanyInfoVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" >
|
||||||
|
@ -615,6 +615,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
public String selectNicknameByIds(String userIds) {
|
public String selectNicknameByIds(String userIds) {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
for (Long id : StringUtils.splitTo(userIds, Convert::toLong)) {
|
for (Long id : StringUtils.splitTo(userIds, Convert::toLong)) {
|
||||||
|
if (id == null){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
String nickname = SpringUtils.getAopProxy(this).selectNicknameById(id);
|
String nickname = SpringUtils.getAopProxy(this).selectNicknameById(id);
|
||||||
if (StringUtils.isNotBlank(nickname)) {
|
if (StringUtils.isNotBlank(nickname)) {
|
||||||
list.add(nickname);
|
list.add(nickname);
|
||||||
|
Loading…
Reference in New Issue
Block a user