This commit is contained in:
mx 2024-10-12 17:07:45 +08:00
parent 94dca1b4a1
commit 566d4fa0cc
6 changed files with 78 additions and 33 deletions

View File

@ -84,6 +84,8 @@ public interface IPsCompanyInfoService {
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
Boolean deleteWithValidByIds2(Collection<Long> ids, Boolean isValid);
/**
* 根据合同编码查询服务公司信息
*/

View File

@ -1,38 +1,38 @@
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.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.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.PsContractBusinessBo;
import com.pusong.business.domain.vo.PsCompanyInfoVo;
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.PsContractInfoMapper;
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;
import com.pusong.common.core.utils.MapstructUtils;
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pusong.common.mybatis.core.page.TableDataInfo;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.List;
import java.util.Collection;
import java.util.List;
/**
* 公司信息Service业务层处理
@ -44,6 +44,8 @@ import java.util.Collection;
@Service
public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
Logger logger = LoggerFactory.getLogger(PsCompanyInfoServiceImpl.class);
private final PsCompanyInfoMapper baseMapper;
private final PsContractCompanyMapper contractCompanyMapper;
private final PsContractInfoMapper contractInfoMapper;
@ -247,9 +249,28 @@ public class PsCompanyInfoServiceImpl implements IPsCompanyInfoService {
*/
@Override
public Boolean deleteWithValidByIds(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)){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;
}

View File

@ -2,14 +2,15 @@ package com.pusong.business.service.impl;
import com.alibaba.fastjson.JSON;
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.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.*;
import com.pusong.business.domain.vo.*;
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.service.*;
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.domain.model.LoginUser;
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.MapstructUtils;
import com.pusong.common.core.utils.StringUtils;
import com.pusong.common.doc.util.NumBerTool;
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pusong.common.mybatis.core.page.TableDataInfo;
import com.pusong.common.satoken.utils.LoginHelper;
import com.pusong.system.domain.SysDictData;
import com.pusong.system.domain.vo.SysOssVo;
@ -625,9 +623,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
map.put("user", user);
map.put("contract", add);
map.put("business", detailBos);
map.put("serviceCompany", bo.getServiceCompanyInfoList());
map.put("main", JSON.parseObject(main.getRemark()));// 合同主体信息
map.put("company", bo.getCompanyInfoBo());
map.put("customer",customer);

View File

@ -1,11 +1,11 @@
package com.pusong.business.service.impl;
import com.alibaba.fastjson.JSON;
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.update.LambdaUpdateWrapper;
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.*;
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.service.IPsApproverRecordService;
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.ApproverService;
import com.pusong.common.core.exception.ServiceException;
import com.pusong.common.core.utils.DateUtils;
import com.pusong.common.core.utils.MapstructUtils;
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pusong.common.mybatis.core.page.TableDataInfo;
import com.pusong.common.satoken.utils.LoginHelper;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.pusong.business.service.IPsCustomInfoService;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
@ -285,7 +282,30 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
//修改公司信息
if(CollectionUtils.isNotEmpty(bo.getCompanyInfoBos())){
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())){
companyInfoService.deleteWithValidByIds(bo.getCompanyIds(),true);
@ -318,10 +338,12 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService {
case 1://移入公海
psCustomInfo.setCustomStatus(CustomerStatusEnum.PUBLIC.getCode());
//拼装历史的所属客户经理
if (psCustomInfo.getCustomManager() != null){
if(StringUtils.isBlank(psCustomInfo.getHistoryCustomManager())){
psCustomInfo.setHistoryCustomManager(psCustomInfo.getCustomManager()+"");
}else {
psCustomInfo.setHistoryCustomManager(psCustomInfo.getHistoryCustomManager()+","+psCustomInfo.getCustomManager());
psCustomInfo.setHistoryCustomManager(psCustomInfo.getHistoryCustomManager() + "," + psCustomInfo.getCustomManager());
}
}
wq.set(PsCustomInfo::getCustomManager,null);
psCustomInfo.setCustomManager(null);

View File

@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<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>
<collection columnPrefix="com_" property="psCompanyInfoVo" ofType="com.pusong.business.domain.vo.PsCompanyInfoVo" >

View File

@ -615,6 +615,9 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
public String selectNicknameByIds(String userIds) {
List<String> list = new ArrayList<>();
for (Long id : StringUtils.splitTo(userIds, Convert::toLong)) {
if (id == null){
continue;
}
String nickname = SpringUtils.getAopProxy(this).selectNicknameById(id);
if (StringUtils.isNotBlank(nickname)) {
list.add(nickname);