|
|
@@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.mysql.cj.util.StringUtils;
|
|
|
import com.trade.purchase.extra.entity.Leads;
|
|
|
import com.trade.purchase.extra.entity.LeadsItem;
|
|
|
import com.trade.purchase.extra.mapper.LeadsItemMapper;
|
|
|
@@ -31,16 +30,17 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springblade.check.dto.AuditProecessDTO;
|
|
|
import org.springblade.check.entity.AuditPathsActs;
|
|
|
import org.springblade.check.entity.AuditPathsLevels;
|
|
|
-import org.springblade.check.entity.AuditProecess;
|
|
|
import org.springblade.check.feign.ICheckClient;
|
|
|
+import org.springblade.client.entity.CommonFile;
|
|
|
import org.springblade.client.entity.CorpsDesc;
|
|
|
+import org.springblade.client.feign.ICommonFileClient;
|
|
|
import org.springblade.client.feign.ICorpsDescClient;
|
|
|
import org.springblade.client.feign.IGoodsDescClient;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
+import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
-import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
@@ -48,6 +48,7 @@ import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.Collections;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
@@ -71,6 +72,8 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
|
|
|
|
|
|
private final ICorpsDescClient corpsDescClient;
|
|
|
|
|
|
+ private final ICommonFileClient commonFileClient;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<LeadsVO> selectLeadsPage(IPage<LeadsVO> page, LeadsVO leads) {
|
|
|
return page.setRecords(baseMapper.selectLeadsPage(page, leads));
|
|
|
@@ -92,7 +95,15 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
|
|
|
item.setServiceProjectName(goodsDescClient.getGoodsDescDetail(item.getSpId()) == null ? "无" : goodsDescClient.getGoodsDescDetail(item.getSpId()).getCname());
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
detail.setItemList(itemList);
|
|
|
+
|
|
|
+ R<List<CommonFile>> fileList = commonFileClient.getList(leads.getId(), "LEADS_FILE");
|
|
|
+ if (fileList.isSuccess() && fileList.getData() != null) {
|
|
|
+ detail.setFileList(fileList.getData());
|
|
|
+ } else {
|
|
|
+ detail.setFileList(Collections.emptyList());
|
|
|
+ }
|
|
|
}
|
|
|
return detail;
|
|
|
}
|
|
|
@@ -100,15 +111,21 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
|
|
|
@Override
|
|
|
public IPage<Leads> getList(Leads leads, Query query) {
|
|
|
LambdaQueryWrapper<Leads> leadsQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- leadsQueryWrapper.like(ObjectUtil.isNotEmpty(leads.getCorpId()), Leads::getCorpId, leads.getCorpId())
|
|
|
- .between(StringUtil.isNotBlank(leads.getBeginBizDate()) && StringUtil.isNotBlank(leads.getEndBizDate()),
|
|
|
- Leads::getBizDate, leads.getBeginBizDate(), leads.getEndBizDate())
|
|
|
- .eq(ObjectUtil.isNotEmpty(leads.getStatus()), Leads::getStatus, leads.getStatus())
|
|
|
- .eq(ObjectUtil.isNotEmpty(leads.getFromUser()), Leads::getFromUser, leads.getFromUser())
|
|
|
- .eq(ObjectUtil.isNotEmpty(leads.getToUser()), Leads::getToUser, leads.getToUser())
|
|
|
- .eq(Leads::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Leads::getIsDeleted, 0)
|
|
|
- .orderByDesc(Leads::getCreateTime);
|
|
|
+ leadsQueryWrapper.like(ObjectUtil.isNotEmpty(leads.getCorpId()), Leads::getCorpId, leads.getCorpId());
|
|
|
+ leadsQueryWrapper.between(StringUtil.isNotBlank(leads.getBeginBizDate()) && StringUtil.isNotBlank(leads.getEndBizDate()),
|
|
|
+ Leads::getBizDate, leads.getBeginBizDate(), leads.getEndBizDate());
|
|
|
+ leadsQueryWrapper.eq(ObjectUtil.isNotEmpty(leads.getStatus()), Leads::getStatus, leads.getStatus());
|
|
|
+ leadsQueryWrapper.eq(ObjectUtil.isNotEmpty(leads.getFromUser()), Leads::getFromUser, leads.getFromUser());
|
|
|
+ leadsQueryWrapper.eq(ObjectUtil.isNotEmpty(leads.getToUser()), Leads::getToUser, leads.getToUser());
|
|
|
+ leadsQueryWrapper.eq(Leads::getTenantId, AuthUtil.getTenantId());
|
|
|
+ leadsQueryWrapper.eq(Leads::getIsDeleted, 0);
|
|
|
+ leadsQueryWrapper.like(ObjectUtil.isNotEmpty(leads.getCreateUserName()), Leads::getCreateUserName, leads.getCreateUserName());
|
|
|
+
|
|
|
+ String userRole = AuthUtil.getUserRole();
|
|
|
+ if (!userRole.contains("抄送人")) {
|
|
|
+ leadsQueryWrapper.eq(Leads::getCreateUser, AuthUtil.getUserId());
|
|
|
+ }
|
|
|
+ leadsQueryWrapper.orderByDesc(Leads::getCreateTime);
|
|
|
IPage<Leads> pages = baseMapper.selectPage(Condition.getPage(query), leadsQueryWrapper);
|
|
|
pages.getRecords().forEach(record -> {
|
|
|
if (ObjectUtil.isNotEmpty(record.getFromUser())) {
|
|
|
@@ -117,6 +134,9 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
|
|
|
if (ObjectUtil.isNotEmpty(record.getToUser())) {
|
|
|
record.setToUserName(getUserName(record.getToUser()));
|
|
|
}
|
|
|
+ if (ObjectUtil.isNotEmpty(record.getCreateUser())){
|
|
|
+ record.setCreateUserName(getUserName(record.getCreateUser()));
|
|
|
+ }
|
|
|
});
|
|
|
return pages;
|
|
|
}
|
|
|
@@ -127,6 +147,7 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
|
|
|
if (ObjectUtil.isEmpty(leads.getId())) {
|
|
|
leads.setTenantId(AuthUtil.getTenantId());
|
|
|
leads.setCreateUser(AuthUtil.getUserId());
|
|
|
+ leads.setCreateUserName(getUserName(AuthUtil.getUserId()));
|
|
|
leads.setCreateTime(new Date());
|
|
|
baseMapper.insert(leads);
|
|
|
} else {
|
|
|
@@ -149,6 +170,18 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
|
|
|
leadsItemMapper.updateById(item);
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ List<CommonFile> fileList = leads.getFileList();
|
|
|
+ if (ObjectUtil.isNotEmpty(fileList)){
|
|
|
+ fileList.forEach(file -> {
|
|
|
+ if (ObjectUtil.isEmpty(file.getId())) {
|
|
|
+ file.setPid(leadsId);
|
|
|
+ file.setSource("LEADS_FILE");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ commonFileClient.saveList(fileList);
|
|
|
+ }
|
|
|
+
|
|
|
return leadsId;
|
|
|
}
|
|
|
|