package com.doumee.service.business.impl;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.doumee.biz.system.SystemDictDataBiz;
|
import com.doumee.core.constants.ResponseStatus;
|
import com.doumee.core.exception.BusinessException;
|
import com.doumee.core.model.LoginUserInfo;
|
import com.doumee.core.model.PageData;
|
import com.doumee.core.model.PageWrap;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.Utils;
|
import com.doumee.dao.business.*;
|
import com.doumee.dao.business.model.*;
|
import com.doumee.dao.system.SystemUserMapper;
|
import com.doumee.dao.system.dto.CompanyDTO;
|
import com.doumee.dao.system.model.SystemUser;
|
import com.doumee.dao.system.model.SystemUserRole;
|
|
import com.doumee.service.business.*;
|
|
import com.doumee.service.business.CompanyChangeService;
|
import com.doumee.service.business.CompanyEconomicsService;
|
import com.doumee.service.business.CompanyService;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.doumee.service.system.SystemUserRoleService;
|
import com.doumee.service.system.SystemUserService;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import org.apache.commons.lang3.RandomStringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.shiro.SecurityUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.util.CollectionUtils;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 企业信息表Service实现
|
*
|
* @author 江蹄蹄
|
* @date 2023/02/15 08:55
|
*/
|
@Service
|
public class CompanyServiceImpl implements CompanyService {
|
|
@Autowired
|
private CompanyMapper companyMapper;
|
@Autowired
|
private SystemUserService systemUserService;
|
@Autowired
|
private SystemDictDataBiz systemDictDataBiz;
|
@Autowired
|
private SystemUserRoleService systemUserRoleService;
|
@Autowired
|
private MultifileService multifileService;
|
@Autowired
|
private CompanyEconomicsMapper companyEconomicsMapper;
|
@Autowired
|
private CompanyEconomicsService companyEconomicsService;
|
@Autowired
|
private SystemUserMapper systemUserMapper;
|
@Autowired
|
private CompanyChangeService companyChangeService;
|
|
@Autowired
|
private CompanyChangeMapper companyChangeMapper;
|
|
@Autowired
|
private CompanyJoinMapper companyJoinMapper;
|
|
@Autowired
|
private ProjectService projectService;
|
@Autowired
|
private DeclaresMapper declaresMapper;
|
|
@Autowired
|
private AreasService areasService;
|
|
@Autowired
|
private LabelsMapper labelsMapper;
|
|
|
@Override
|
public Integer create(Company company) {
|
|
companyMapper.insert(company);
|
return company.getId();
|
}
|
|
@Override
|
public void deleteById(Integer id) {
|
companyMapper.deleteById(id);
|
}
|
|
@Override
|
public void delete(Company company) {
|
UpdateWrapper<Company> deleteWrapper = new UpdateWrapper<>(company);
|
companyMapper.delete(deleteWrapper);
|
}
|
|
@Override
|
public void deleteByIdInBatch(List<Integer> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return;
|
}
|
companyMapper.deleteBatchIds(ids);
|
}
|
|
@Transactional(rollbackFor = {RuntimeException.class,Exception.class})
|
@Override
|
public void updateById(Company company) {
|
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
|
Company update = new Company();
|
if (Constants.equalsInteger(user.getType(), Constants.UserType.SYSTEM.getKey())){
|
update.setId(company.getId());
|
}else {
|
update.setId(user.getCompanyId());
|
}
|
|
//补全企业信息
|
company.setType(Constants.CompanyType.BUSINESS_COMPANYTYPE.getValue());
|
firstUpdateCompany(company);
|
|
Date now = new Date();
|
update.setId(company.getId());
|
update.setEditor(user.getId());
|
update.setEditDate(now);
|
update.setRegisterDate(company.getRegisterDate());
|
update.setProduct(company.getProduct());
|
update.setAddress(company.getAddress());
|
update.setLegalPersonPhone(company.getLegalPersonPhone());
|
update.setLinkName(company.getLinkName());
|
update.setLinkPhone(company.getLinkPhone());
|
update.setNatureId(company.getNatureId());
|
update.setLabelId(company.getLabelId());
|
update.setIndustryId(company.getIndustryId());
|
update.setContent(company.getContent());
|
update.setLabelId(company.getLabelId());
|
|
List<CompanyEconomics> list = company.getList();
|
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(list)
|
&& Constants.equalsInteger(user.getType(),Constants.ONE)){
|
list.forEach(s->{
|
s.setCompanyId(company.getId());
|
companyEconomicsService.createOrUpdate(s);
|
});
|
}
|
//修改 工商变更
|
// updateCompanyMultifiles(company.getChangeFileList(), company.getId(), Constants.MultiFile.BUSINESS_CHANGE.getKey());
|
|
//修改 企业资质集合
|
updateCompanyMultifiles(company.getZzFileList(), company.getId(), Constants.MultiFile.BUSINESS_ZZ.getKey());
|
|
//修改 企业中标通知书集合
|
updateCompanyMultifiles(company.getNoticeFileList(), company.getId(),Constants.MultiFile.BUSINESS_NOTICE.getKey());
|
companyMapper.updateById(update);
|
}
|
|
private void updateCompanyMultifiles(List<Multifile> multifileList, Integer companyId, Integer objType){
|
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(multifileList)){
|
|
Multifile multifile = new Multifile();
|
multifile.setObjId(companyId);
|
multifile.setObjType(objType);
|
multifileService.delete(multifile);
|
|
multifileList.forEach(s->{
|
|
Multifile insert = new Multifile();
|
insert.setIsdeleted(Constants.ZERO);
|
insert.setCreateDate(new Date());
|
insert.setObjId(companyId);
|
insert.setObjType(objType);
|
insert.setName(s.getName());
|
insert.setType(Constants.ZERO);
|
insert.setFileurl(s.getFileurl());
|
multifileService.create(insert);
|
});
|
}
|
|
}
|
|
/**
|
* 补全必要信息
|
*/
|
private void firstUpdateCompany(Company updateCompany){
|
|
Company currentCompany = companyMapper.selectById(updateCompany.getId());
|
|
if (Objects.isNull(currentCompany)){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"请输入正确的企业信息");
|
}
|
|
Company company = new Company();
|
|
Boolean update = false;
|
|
if (StringUtils.isEmpty(currentCompany.getCreditCode())){
|
//统一信用代码校验
|
if (StringUtils.isNotEmpty(updateCompany.getCreditCode())){
|
QueryWrapper<Company> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(Company::getType,currentCompany.getType())
|
.eq(Company::getCreditCode,updateCompany.getCreditCode());
|
Integer integer = companyMapper.selectCount(wrapper);
|
if (integer > 0){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"统一信用代码存在重复");
|
}
|
}
|
|
update = true;
|
company.setCreditCode(updateCompany.getCreditCode());
|
}else if (StringUtils.isNotEmpty(currentCompany.getCreditCode())
|
&& StringUtils.isNotEmpty(updateCompany.getCreditCode())
|
&& !currentCompany.getCreditCode().equals(updateCompany.getCreditCode()) ){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
}
|
|
// currentCompany.getCityId();
|
if (Objects.isNull(currentCompany.getCityId())){
|
update = true;
|
company.setCityId(updateCompany.getCityId());
|
}else if (Objects.nonNull(currentCompany.getCityId())
|
&& Objects.nonNull(updateCompany.getCityId())
|
&& !currentCompany.getCityId().equals(updateCompany.getCityId())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
}
|
|
// currentCompany.getAreaId();
|
if (Objects.isNull(currentCompany.getAreaId())){
|
update = true;
|
company.setAreaId(updateCompany.getAreaId());
|
}else if (Objects.nonNull(currentCompany.getAreaId())
|
&& Objects.nonNull(updateCompany.getAreaId())
|
&& !currentCompany.getAreaId().equals(updateCompany.getAreaId())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
}
|
|
// currentCompany.getProduct();
|
// if (Objects.isNull(currentCompany.getProduct())){
|
// update = true;
|
// company.setProduct(updateCompany.getProduct());
|
// }else if (Objects.nonNull(currentCompany.getProduct())
|
// && Objects.nonNull(updateCompany.getProduct())
|
// && !currentCompany.getProduct().equals(updateCompany.getProduct())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
// currentCompany.getAddress();
|
// if (Objects.isNull(currentCompany.getAddress())){
|
// update = true;
|
// company.setAddress(updateCompany.getAddress());
|
// }else if (Objects.nonNull(currentCompany.getAddress())
|
// && Objects.nonNull(updateCompany.getAddress())
|
// && !currentCompany.getAddress().equals(updateCompany.getAddress())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
// currentCompany.getRegisterDate();
|
// if (Objects.isNull(currentCompany.getRegisterDate())){
|
// update = true;
|
// company.setRegisterDate(updateCompany.getRegisterDate());
|
// }else if (Objects.nonNull(currentCompany.getRegisterDate())
|
// && Objects.nonNull(updateCompany.getRegisterDate())
|
// && !currentCompany.getRegisterDate().equals(updateCompany.getRegisterDate())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
// currentCompany.getLegalPerson();
|
if (StringUtils.isEmpty(currentCompany.getLegalPerson())){
|
update = true;
|
company.setLegalPerson(updateCompany.getLegalPerson());
|
}else if (StringUtils.isNotEmpty(currentCompany.getLegalPerson())
|
&& StringUtils.isNotEmpty(updateCompany.getLegalPerson())
|
&& !currentCompany.getLegalPerson().equals(updateCompany.getLegalPerson())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
}
|
|
// currentCompany.getLegalPersonPhone();
|
// if (Objects.isNull(currentCompany.getLegalPersonPhone())){
|
// update = true;
|
// company.setLegalPersonPhone(updateCompany.getLegalPersonPhone());
|
// }else if (Objects.nonNull(currentCompany.getLegalPersonPhone())
|
// && Objects.nonNull(updateCompany.getLegalPersonPhone())
|
// && !currentCompany.getLegalPersonPhone().equals(updateCompany.getLegalPersonPhone())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
|
// currentCompany.getLinkName();
|
// if (Objects.isNull(currentCompany.getLinkName())){
|
// update = true;
|
// company.setLinkName(updateCompany.getLinkName());
|
// }else if (Objects.nonNull(currentCompany.getLinkName())
|
// && Objects.nonNull(updateCompany.getLinkName())
|
// && !currentCompany.getLinkName().equals(updateCompany.getLinkName())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
// currentCompany.getLinkPhone();
|
// if (Objects.isNull(currentCompany.getLinkPhone())){
|
// update = true;
|
// company.setLinkPhone(updateCompany.getLinkPhone());
|
// }else if (Objects.nonNull(currentCompany.getLinkPhone())
|
// && Objects.nonNull(updateCompany.getLinkPhone())
|
// && !currentCompany.getLinkPhone().equals(updateCompany.getLinkPhone())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
// currentCompany.getNatureId();
|
// if (Objects.isNull(currentCompany.getNatureId())){
|
// update = true;
|
// company.setNatureId(updateCompany.getNatureId());
|
// }else if (Objects.nonNull(currentCompany.getNatureId())
|
// && Objects.nonNull(updateCompany.getNatureId())
|
// && !currentCompany.getNatureId().equals(updateCompany.getNatureId())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
// currentCompany.getIndustryId();
|
// if (Objects.isNull(currentCompany.getIndustryId())){
|
// update = true;
|
// company.setIndustryId(updateCompany.getIndustryId());
|
// }else if (Objects.nonNull(currentCompany.getIndustryId())
|
// && Objects.nonNull(updateCompany.getIndustryId())
|
// && !currentCompany.getIndustryId().equals(updateCompany.getIndustryId())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
|
// currentCompany.getContent();
|
// if (Objects.isNull(currentCompany.getContent())){
|
// update = true;
|
// company.setContent(updateCompany.getContent());
|
// }else if (Objects.nonNull(currentCompany.getContent())
|
// && Objects.nonNull(updateCompany.getContent())
|
// && !currentCompany.getContent().equals(updateCompany.getContent())){
|
// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业信息不可修改");
|
// }
|
|
if(org.apache.commons.collections.CollectionUtils.isNotEmpty(updateCompany.getBusinessList())){
|
//判断是否存在营业执照 有就就不允许传
|
Map<Integer, List<Multifile>> objAllFileUrl = multifileService.getOBJAllFileUrl(updateCompany.getId(), Constants.ZERO);
|
if (!objAllFileUrl.containsKey(Constants.MultiFile.BUSINESS_LICENSE.getKey())){
|
updateCompany.getBusinessList().forEach(s->{
|
|
Multifile multifile = new Multifile();
|
multifile.setIsdeleted(Constants.ZERO);
|
multifile.setCreateDate(new Date());
|
multifile.setObjId(updateCompany.getId());
|
multifile.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifile.setType(Constants.ZERO);
|
multifile.setName(s.getName());
|
multifile.setFileurl(s.getFileurl());
|
multifile.setType(Constants.ZERO);
|
multifileService.create(multifile);
|
});
|
}else {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"企业营业执照不可随意修改,如需要,请走企业变更申请流程!");
|
}
|
}
|
|
UpdateWrapper<Company> wrapper = new UpdateWrapper<>();
|
wrapper.lambda().eq(Company::getId,updateCompany.getId());
|
if (update){
|
companyMapper.update(company,wrapper);
|
}
|
|
}
|
|
@Override
|
@Transactional(rollbackFor = {BusinessException.class, Exception.class})
|
public void improveData(Company company) {
|
Company oldCom = companyMapper.selectById(company.getId());
|
/**
|
* 后台分配的账户首次可进行企业名称、所属区域、企业法定代表人、营业执照信息的修改,资料完善提交后只能走变更审核流程,不需审核的字段可一直进行完善资料
|
*/
|
if (oldCom.getOrigin() == Constants.ONE && this.judgeImproveIsFinish(company)) {
|
if (!StringUtils.equals(oldCom.getName().trim(), company.getName().trim()) ||
|
oldCom.getCityId() != company.getCityId() ||
|
!StringUtils.equals(oldCom.getLegalPerson().trim(), company.getLegalPerson().trim()) ||
|
!StringUtils.equals(oldCom.getFileurl().trim(), company.getFileurl().trim())
|
|
) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "不允许操作");
|
}
|
}
|
|
if (
|
/* StringUtils.isBlank(company.getName())||*/
|
StringUtils.isBlank(company.getCreditCode()) ||
|
StringUtils.isBlank(company.getCreditCode()) ||
|
StringUtils.isBlank(company.getPassword()) ||
|
StringUtils.isBlank(company.getProduct()) ||
|
/* company.getAreaId()==null||
|
company.getCityId()==null||*/
|
StringUtils.isBlank(company.getAddress()) ||
|
/* StringUtils.isBlank(company.getLegalPerson())||*/
|
StringUtils.isBlank(company.getLegalPersonPhone()) ||
|
StringUtils.isBlank(company.getLinkName()) ||
|
StringUtils.isBlank(company.getLinkPhone()) ||
|
company.getNatureId() == null ||
|
company.getIndustryId() == null ||
|
StringUtils.isBlank(company.getRegisterDate()) ||
|
StringUtils.isBlank(company.getContent()) ||
|
StringUtils.isBlank(company.getCreditCode())
|
/* StringUtils.isBlank(company.getFileurl())*/
|
|
) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
|
}
|
|
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
company.setEditDate(new Date());
|
company.setEditor(user.getId());
|
|
Company cpquery = new Company();
|
cpquery.setName(company.getName().trim());
|
List<Company> cqList = companyMapper.selectList(new QueryWrapper<>(cpquery));
|
if (cqList.size() > 1) {
|
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "企业名称已存在!");
|
}
|
companyMapper.updateById(company);
|
|
|
/**------------------start 插入/更新经济指标------------------------*/
|
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(company.getList())) {
|
//判断是否关联经济指标,未关联插入,已关联更新
|
CompanyEconomics ceQuery = new CompanyEconomics();
|
ceQuery.setIsdeleted(Constants.ZERO);
|
ceQuery.setCompanyId(company.getId());
|
List<CompanyEconomics> ceList = companyEconomicsMapper.selectList(new QueryWrapper<>(ceQuery)
|
.orderByAsc()
|
.last("limit 3")
|
);
|
for (int i = 0; i < company.getList().size(); i++) {
|
CompanyEconomics cesNew = company.getList().get(i);
|
Boolean sign = true;
|
for (int j = 0; j < ceList.size(); j++) {
|
CompanyEconomics cesOld = ceList.get(j);
|
if (cesNew.getYears() == cesOld.getYears()) {
|
cesNew.setId(cesOld.getId());
|
cesNew.setIsdeleted(Constants.ZERO);
|
cesNew.setEditDate(new Date());
|
cesNew.setEditor(user.getId());
|
cesNew.setCompanyId(company.getId());
|
companyEconomicsService.createOrUpdate(cesNew);
|
sign = false;
|
}
|
}
|
if (sign) {
|
cesNew.setIsdeleted(Constants.ZERO);
|
cesNew.setCompanyId(company.getId());
|
companyEconomicsService.create(cesNew);
|
}
|
}
|
}
|
/**------------------end 插入/更新经济指标------------------------*/
|
|
/**------------------end 插入/更新营业执照------------------------*/
|
Multifile mufQuery = new Multifile();
|
mufQuery.setIsdeleted(Constants.ZERO);
|
mufQuery.setObjId(company.getId());
|
mufQuery.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
mufQuery.setType(Constants.ZERO);
|
Multifile resultMf = multifileService.findOne(mufQuery);
|
//判断营业执照是否存在更新,不存在插入
|
if (Objects.nonNull(resultMf)) {
|
mufQuery.setFileurl(company.getFileurl());
|
mufQuery.setEditDate(new Date());
|
mufQuery.setEditor(user.getId());
|
multifileService.updateById(mufQuery);
|
} else {
|
//添加营业执照
|
Multifile multifile = new Multifile();
|
multifile.setIsdeleted(Constants.ZERO);
|
multifile.setCreateDate(new Date());
|
multifile.setObjId(company.getId());
|
//multifile.setName();
|
multifile.setType(Constants.ZERO);
|
multifile.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifile.setFileurl(company.getFileurl());
|
multifileService.create(multifile);
|
}
|
/**------------------end 插入/更新营业执照------------------------*/
|
|
/**------------------start 更新登录账号------------------------*/
|
SystemUser systemUser = new SystemUser();
|
systemUser.setCompanyId(company.getId());
|
systemUser.setDeleted(Boolean.FALSE);
|
SystemUser querysys = systemUserMapper.selectOne(new QueryWrapper<>(systemUser));
|
|
systemUser.setUpdateUser(user.getId());
|
systemUser.setUpdateTime(new Date());
|
systemUser.setId(querysys.getId());
|
systemUser.setUsername(company.getName().trim());
|
systemUserMapper.updateById(systemUser);
|
/**------------------end 更新登录账号------------------------*/
|
|
|
}
|
|
@Override
|
public void updateByIdInBatch(List<Company> companys) {
|
if (CollectionUtils.isEmpty(companys)) {
|
return;
|
}
|
for (Company company : companys) {
|
this.updateById(company);
|
}
|
}
|
|
@Override
|
public Company findById(Integer id) {
|
return companyMapper.selectById(id);
|
}
|
|
@Override
|
public Company findOne(Company company) {
|
QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
|
return companyMapper.selectOne(wrapper);
|
}
|
|
@Override
|
public List<Company> findList(Company company) {
|
company.setIsdeleted(Constants.ZERO);
|
QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
|
if(company.getProjectId()!=null){
|
// wrapper.exists("(select b.id from project_so b where b.COMPANY_ID = company.id and b.isdeleted=0 and b.project_id="+company.getProjectId()+")");
|
wrapper.exists("(select b.id from declares b where b.SO_ID = company.id and b.isdeleted=0 and b.project_id="+company.getProjectId()+")");
|
}
|
if(company.getNoProjectId()!=null){
|
wrapper.notExists("(select b.id from project_so b where b.COMPANY_ID = company.id and b.isdeleted=0 and b.project_id="+company.getNoProjectId()+")");
|
}
|
return companyMapper.selectList(wrapper);
|
}
|
|
@Override
|
public PageData<Company> findPage(PageWrap<Company> pageWrap) {
|
IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
|
QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
|
Utils.MP.blankToNull(pageWrap.getModel());
|
if (pageWrap.getModel().getId() != null) {
|
queryWrapper.lambda().eq(Company::getId, pageWrap.getModel().getId());
|
}
|
|
if (pageWrap.getModel().getCreator() != null) {
|
queryWrapper.lambda().eq(Company::getCreator, pageWrap.getModel().getCreator());
|
}
|
if (pageWrap.getModel().getCreateDate() != null) {
|
queryWrapper.lambda().ge(Company::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
|
queryWrapper.lambda().le(Company::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
|
}
|
if (pageWrap.getModel().getEditor() != null) {
|
queryWrapper.lambda().eq(Company::getEditor, pageWrap.getModel().getEditor());
|
}
|
if (pageWrap.getModel().getEditDate() != null) {
|
queryWrapper.lambda().ge(Company::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
|
queryWrapper.lambda().le(Company::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
|
}
|
if (pageWrap.getModel().getIsdeleted() != null) {
|
queryWrapper.lambda().eq(Company::getIsdeleted, pageWrap.getModel().getIsdeleted());
|
}
|
if (pageWrap.getModel().getOrigin() != null) {
|
queryWrapper.lambda().eq(Company::getOrigin, pageWrap.getModel().getOrigin());
|
}
|
if (pageWrap.getModel().getName() != null) {
|
queryWrapper.lambda().eq(Company::getName, pageWrap.getModel().getName());
|
}
|
if (pageWrap.getModel().getRemark() != null) {
|
queryWrapper.lambda().eq(Company::getRemark, pageWrap.getModel().getRemark());
|
}
|
if (pageWrap.getModel().getLegalPerson() != null) {
|
queryWrapper.lambda().eq(Company::getLegalPerson, pageWrap.getModel().getLegalPerson());
|
}
|
if (pageWrap.getModel().getLegalPersonPhone() != null) {
|
queryWrapper.lambda().eq(Company::getLegalPersonPhone, pageWrap.getModel().getLegalPersonPhone());
|
}
|
if (pageWrap.getModel().getRegisterDate() != null) {
|
queryWrapper.lambda().eq(Company::getRegisterDate, pageWrap.getModel().getRegisterDate());
|
}
|
if (pageWrap.getModel().getAreaId() != null) {
|
queryWrapper.lambda().eq(Company::getAreaId, pageWrap.getModel().getAreaId());
|
}
|
if (pageWrap.getModel().getCityId() != null) {
|
queryWrapper.lambda().eq(Company::getCityId, pageWrap.getModel().getCityId());
|
}
|
if (pageWrap.getModel().getProduct() != null) {
|
queryWrapper.lambda().eq(Company::getProduct, pageWrap.getModel().getProduct());
|
}
|
if (pageWrap.getModel().getAddress() != null) {
|
queryWrapper.lambda().eq(Company::getAddress, pageWrap.getModel().getAddress());
|
}
|
if (pageWrap.getModel().getCreditCode() != null) {
|
queryWrapper.lambda().eq(Company::getCreditCode, pageWrap.getModel().getCreditCode());
|
}
|
if (pageWrap.getModel().getLinkName() != null) {
|
queryWrapper.lambda().eq(Company::getLinkName, pageWrap.getModel().getLinkName());
|
}
|
if (pageWrap.getModel().getLinkPhone() != null) {
|
queryWrapper.lambda().eq(Company::getLinkPhone, pageWrap.getModel().getLinkPhone());
|
}
|
if (pageWrap.getModel().getNatureId() != null) {
|
queryWrapper.lambda().eq(Company::getNatureId, pageWrap.getModel().getNatureId());
|
}
|
if (pageWrap.getModel().getIndustryId() != null) {
|
queryWrapper.lambda().eq(Company::getIndustryId, pageWrap.getModel().getIndustryId());
|
}
|
if (pageWrap.getModel().getContent() != null) {
|
queryWrapper.lambda().eq(Company::getContent, pageWrap.getModel().getContent());
|
}
|
if (pageWrap.getModel().getType() != null) {
|
queryWrapper.lambda().eq(Company::getType, pageWrap.getModel().getType());
|
}
|
for (PageWrap.SortData sortData : pageWrap.getSorts()) {
|
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
|
queryWrapper.orderByDesc(sortData.getProperty());
|
} else {
|
queryWrapper.orderByAsc(sortData.getProperty());
|
}
|
}
|
return PageData.from(companyMapper.selectPage(page, queryWrapper));
|
}
|
|
@Override
|
public long count(Company company) {
|
QueryWrapper<Company> wrapper = new QueryWrapper<>(company);
|
return companyMapper.selectCount(wrapper);
|
}
|
|
|
@Override
|
@Transactional(rollbackFor = {BusinessException.class, Exception.class})
|
public Integer register(Company company) {
|
// 验证用户名
|
if (StringUtils.isBlank(company.getName().trim()) ||
|
StringUtils.isBlank(company.getCreditCode()) ||
|
StringUtils.isBlank(company.getPassword()) ||
|
StringUtils.isBlank(company.getProduct()) ||
|
company.getAreaId() == null ||
|
company.getCityId() == null ||
|
StringUtils.isBlank(company.getAddress()) ||
|
StringUtils.isBlank(company.getLegalPerson()) ||
|
StringUtils.isBlank(company.getLegalPersonPhone()) ||
|
StringUtils.isBlank(company.getLinkName()) ||
|
StringUtils.isBlank(company.getLinkPhone()) ||
|
company.getNatureId() == null ||
|
company.getIndustryId() == null ||
|
StringUtils.isBlank(company.getRegisterDate()) ||
|
StringUtils.isBlank(company.getContent()) ||
|
org.apache.commons.collections.CollectionUtils.isEmpty(company.getFileList())
|
|
) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
|
}
|
Company fData = new Company();
|
fData.setName(company.getName().trim());
|
fData.setType(Constants.CompanyType.BUSINESS_COMPANYTYPE.getValue());
|
fData.setIsdeleted(Constants.ZERO);
|
Company resData = this.findOne(fData);
|
if (Objects.nonNull(resData)) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "该企业名称已注册!");
|
}
|
|
Company query = new Company();
|
query.setCreditCode(company.getCreditCode());
|
query.setIsdeleted(Constants.ZERO);
|
query.setType(Constants.CompanyType.BUSINESS_COMPANYTYPE.getValue());
|
resData = this.findOne(query);
|
if (Objects.nonNull(resData)) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "该统一信用社代码企业已注册!");
|
}
|
company.setName(company.getName().trim());
|
company.setType(Constants.CompanyType.BUSINESS_COMPANYTYPE.getValue());
|
company.setUserName(company.getUserName());
|
company.setOrigin(Constants.ORIGIN.platformRegister);
|
company.setIsdeleted(Constants.ZERO);
|
company.setCreateDate(new Date());
|
//企业添加数据
|
createSystemUser(company);
|
|
//添加营业执照
|
company.getFileList().stream().forEach(s -> {
|
if(StringUtils.isEmpty(s.getFileurl())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "请上传营业执照!");
|
}
|
s.setIsdeleted(Constants.ZERO);
|
s.setCreateDate(new Date());
|
s.setObjId(company.getId());
|
s.setType(Constants.ZERO);
|
s.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifileService.create(s);
|
});
|
|
return company.getId();
|
}
|
|
@Transactional(rollbackFor = {BusinessException.class, Exception.class})
|
@Override
|
public Integer registerServiceCompany(ServiceCompanyDTO company) {
|
|
Company fData = new Company();
|
fData.setName(company.getCompanyName().trim());
|
fData.setIsdeleted(Constants.ZERO);
|
fData.setType(Constants.CompanyType.SERVICE_COMPANYTYPE.getValue());
|
Company resData = this.findOne(fData);
|
if (Objects.nonNull(resData)) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "企业名称已存在");
|
}
|
|
Company query = new Company();
|
query.setCreditCode(company.getCreditCode());
|
query.setIsdeleted(Constants.ZERO);
|
query.setType(Constants.CompanyType.SERVICE_COMPANYTYPE.getValue());
|
resData = this.findOne(query);
|
if (Objects.nonNull(resData)) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "统一社会信用代码已存在");
|
}
|
|
Company insert = new Company();
|
insert.setOrigin(Constants.ORIGIN.platformRegister);
|
insert.setName(company.getCompanyName());
|
insert.setLegalPerson(company.getLegalPerson());
|
insert.setLegalPersonPhone(company.getLegalPersonPhone());
|
insert.setAreaId(company.getAreaId());
|
insert.setCityId(company.getCityId());
|
insert.setLabelId(company.getLabelId());
|
insert.setAddress(company.getAddress());
|
insert.setCreditCode(company.getCreditCode());
|
insert.setLinkName(company.getLinkName());
|
insert.setLinkPhone(company.getLinkPhone());
|
insert.setContent(company.getContent());
|
insert.setType(Constants.ONE);
|
insert.setIsdeleted(Constants.ZERO);
|
insert.setCreateDate(new Date());
|
insert.setEditDate(new Date());
|
Integer integer = create(insert);
|
//添加营业执照
|
company.getFileList().stream().forEach(s -> {
|
if(StringUtils.isEmpty(s.getFileurl())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "请上传营业执照!");
|
}
|
s.setIsdeleted(Constants.ZERO);
|
s.setCreateDate(new Date());
|
s.setObjId(insert.getId());
|
s.setType(Constants.ZERO);
|
s.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifileService.create(s);
|
});
|
|
//系统用户表插入信息
|
SystemUser systemUser = new SystemUser();
|
systemUser.setUsername(company.getUserName());
|
systemUser.setDeleted(Boolean.FALSE);
|
SystemUser user = systemUserService.findOne(systemUser);
|
if (user != null) {
|
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在!");
|
}
|
// 生成密码盐
|
String salt = RandomStringUtils.randomAlphabetic(6);
|
// 生成密码
|
systemUser.setPassword(Utils.Secure.encryptPassword(company.getPassword(), salt));
|
systemUser.setSalt(salt);
|
// 创建用户记录
|
|
systemUser.setStatus(Constants.ZERO);
|
systemUser.setMobile(company.getLegalPersonPhone());
|
systemUser.setCreateTime(new Date());
|
systemUser.setType(Constants.UserType.SO_ADMIN.getKey());
|
systemUser.setCompanyId(insert.getId());
|
systemUser.setCityId(company.getCityId());
|
systemUser.setAreaId(company.getAreaId());
|
Integer userId = systemUserService.create(systemUser);
|
|
//获取服务机构角色id
|
String roleCode = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.SO_ADMIN_ROLE).getCode();
|
// 新增新的角色
|
SystemUserRole newUserRole = new SystemUserRole();
|
newUserRole.setCreateTime(new Date());
|
newUserRole.setUserId(userId);
|
newUserRole.setRoleId(Integer.valueOf(roleCode));
|
newUserRole.setCreateUser(userId);
|
systemUserRoleService.create(newUserRole);
|
return null;
|
}
|
|
|
@Transactional(rollbackFor = {BusinessException.class, Exception.class})
|
@Override
|
public Integer registerZFServiceCompany(ServiceCompanyDTO company) {
|
|
|
|
Company fData = new Company();
|
fData.setName(company.getCompanyName().trim());
|
fData.setIsdeleted(Constants.ZERO);
|
fData.setType(Constants.CompanyType.ZF_SERVICE_COMPANY.getValue());
|
Company resData = this.findOne(fData);
|
if (Objects.nonNull(resData)) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "企业名称已存在!");
|
}
|
|
Company query = new Company();
|
query.setCreditCode(company.getCreditCode());
|
query.setIsdeleted(Constants.ZERO);
|
query.setType(Constants.CompanyType.ZF_SERVICE_COMPANY.getValue());
|
resData = this.findOne(query);
|
if (Objects.nonNull(resData)) {
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "统一社会信用代码已注册!");
|
}
|
|
Company insert = new Company();
|
insert.setOrigin(Constants.ORIGIN.platformRegister);
|
insert.setName(company.getCompanyName());
|
insert.setLegalPerson(company.getLegalPerson());
|
insert.setLegalPersonPhone(company.getLegalPersonPhone());
|
insert.setAreaId(company.getAreaId());
|
insert.setCityId(company.getCityId());
|
insert.setLabelId(company.getLabelId());
|
insert.setAddress(company.getAddress());
|
insert.setCreditCode(company.getCreditCode());
|
insert.setLinkName(company.getLinkName());
|
insert.setLinkPhone(company.getLinkPhone());
|
insert.setContent(company.getContent());
|
insert.setType(Constants.TWO);
|
insert.setIsdeleted(Constants.ZERO);
|
Integer integer = create(insert);
|
//添加营业执照
|
company.getFileList().stream().forEach(s -> {
|
if(StringUtils.isEmpty(s.getFileurl())){
|
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "请上传营业执照!");
|
}
|
s.setIsdeleted(Constants.ZERO);
|
s.setCreateDate(new Date());
|
s.setObjId(insert.getId());
|
s.setType(Constants.ZERO);
|
s.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifileService.create(s);
|
});
|
|
//系统用户表插入信息
|
SystemUser systemUser = new SystemUser();
|
systemUser.setUsername(company.getUserName());
|
systemUser.setType(Constants.UserType.SD_ADMIN.getKey());
|
systemUser.setDeleted(Boolean.FALSE);
|
SystemUser user = systemUserService.findOne(systemUser);
|
if (user != null) {
|
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在!");
|
}
|
// 生成密码盐
|
String salt = RandomStringUtils.randomAlphabetic(6);
|
// 生成密码
|
systemUser.setPassword(Utils.Secure.encryptPassword(company.getPassword(), salt));
|
systemUser.setSalt(salt);
|
// 创建用户记录
|
|
systemUser.setStatus(Constants.ZERO);
|
systemUser.setMobile(company.getLegalPersonPhone());
|
systemUser.setCreateTime(new Date());
|
systemUser.setType(Constants.UserType.SD_ADMIN.getKey());
|
systemUser.setCompanyId(insert.getId());
|
systemUser.setCityId(company.getCityId());
|
systemUser.setAreaId(company.getAreaId());
|
Integer userId = systemUserService.create(systemUser);
|
|
//获取服务机构角色id
|
String roleCode = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.SD_ADMIN_ROLE).getCode();
|
// 新增新的角色
|
SystemUserRole newUserRole = new SystemUserRole();
|
newUserRole.setCreateTime(new Date());
|
newUserRole.setUserId(userId);
|
newUserRole.setRoleId(Integer.valueOf(roleCode));
|
newUserRole.setCreateUser(userId);
|
systemUserRoleService.create(newUserRole);
|
return null;
|
}
|
|
@Override
|
public void createSystemUser(Company company) {
|
|
int insert = companyMapper.insert(company);
|
|
//系统用户表插入信息
|
SystemUser systemUser = new SystemUser();
|
systemUser.setRealname(company.getName());
|
systemUser.setUsername(company.getUserName() != null ? company.getUserName() : company.getName());
|
systemUser.setDeleted(Boolean.FALSE);
|
SystemUser user = systemUserService.findOne(systemUser);
|
if (user != null) {
|
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "登录账号已存在!");
|
}
|
// 生成密码盐
|
String salt = RandomStringUtils.randomAlphabetic(6);
|
// 生成密码
|
systemUser.setPassword(Utils.Secure.encryptPassword(company.getPassword(), salt));
|
systemUser.setSalt(salt);
|
// 创建用户记录
|
|
systemUser.setStatus(Constants.ZERO);
|
systemUser.setMobile(company.getLegalPersonPhone());
|
systemUser.setCreateTime(new Date());
|
systemUser.setType(Constants.UserType.COMPANY.getKey());
|
systemUser.setCompanyId(company.getId());
|
systemUser.setCityId(company.getCityId());
|
systemUser.setAreaId(company.getAreaId());
|
Integer userId = systemUserService.create(systemUser);
|
|
//获取企业角色id
|
String roleCode = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.COMPANY_ROLE).getCode();
|
// 新增新的角色
|
SystemUserRole newUserRole = new SystemUserRole();
|
newUserRole.setCreateTime(new Date());
|
newUserRole.setUserId(userId);
|
newUserRole.setRoleId(Integer.valueOf(roleCode));
|
newUserRole.setCreateUser(userId);
|
systemUserRoleService.create(newUserRole);
|
}
|
|
|
@Override
|
public Company queryCompanyDetail(Company company) {
|
|
|
//查询企业资料
|
MPJLambdaWrapper<Company> mpjWrapper = new MPJLambdaWrapper<>();
|
mpjWrapper.selectAll(Company.class)
|
.select("l2.name as industryName")
|
.select("l.name as natureName")
|
.select("l3.name as labelName")
|
.leftJoin("labels l on l.id = t.NATURE_ID ")
|
.leftJoin("labels l2 on l2.id = t.INDUSTRY_ID ")
|
.leftJoin("labels l3 on l3.id = t.LABEL_ID ")
|
.eq(Company::getId,company.getId()) ;
|
Company result = companyJoinMapper.selectOne(mpjWrapper);
|
// Company result = companyMapper.selectById(company.getId());
|
Areas city = areasService.findById(result.getCityId(), Constants.ONE);
|
Areas area = areasService.findById(result.getAreaId(), Constants.TWO);
|
String belongAddress = Optional.ofNullable(city)
|
.map(item -> item.getProvinceName() + item.getName())
|
.orElse("");
|
String areaName = Optional.ofNullable(area).map(s->s.getName()).orElse("");
|
result.setCityName(city !=null?city.getName():null);
|
result.setAreaName(areaName);
|
result.setProvinceId(city !=null?city.getProvinceId():null);
|
result.setProvinceName(city !=null?city.getProvinceName():null);
|
result.setBelongAreaName(belongAddress + areaName);
|
if (Objects.nonNull(result)) {
|
//查询营业执照
|
String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.COMPANY_FILE).getCode();
|
dealCompanyFiles(result,path);
|
|
if (Constants.equalsInteger(result.getType(),Constants.ZERO)){
|
List<CompanyEconomics> lastThreeCompanyEconomics = companyEconomicsService.findLastThreeCompanyEconomics(company.getId());
|
result.setList(lastThreeCompanyEconomics);
|
}
|
|
|
//查询企业工商变更登记信息
|
CompanyChange companyChange = new CompanyChange();
|
companyChange.setIsdeleted(Constants.ZERO);
|
companyChange.setCompanyId(result.getId());
|
companyChange.setStatus(Constants.ONE);//审核通过
|
CompanyChange comChangeRes = companyChangeMapper.selectOne(new QueryWrapper<>(companyChange)
|
.orderByDesc("EDIT_DATE")
|
.last("limit 1")
|
);
|
if (Objects.nonNull(comChangeRes)) {
|
//工商变更登记图片
|
Multifile multifile1 = new Multifile();
|
multifile1.setIsdeleted(Constants.ZERO);
|
multifile1.setObjId(comChangeRes.getId());
|
multifile1.setObjType(Constants.MultiFile.BUSINESS_CHANGE.getKey());
|
multifile1.setType(Constants.ZERO);
|
List<Multifile> query1 = multifileService.findList(multifile1);
|
comChangeRes.setChangeFileList(query1);
|
Multifile multifile2 = new Multifile();
|
//营业执照图片
|
multifile2.setIsdeleted(Constants.ZERO);
|
multifile2.setObjId(comChangeRes.getId());
|
multifile2.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifile2.setType(Constants.ZERO);
|
List<Multifile> query2list = multifileService.findList(multifile2);
|
comChangeRes.setFileList(query2list);
|
initFulFileurl(query1,path);
|
initFulFileurl(query2list,path);
|
result.setCompanyChange(comChangeRes);
|
}
|
}
|
return result;
|
}
|
|
private void dealCompanyFiles(Company result, String path) {
|
Multifile tf = new Multifile();
|
tf.setIsdeleted(Constants.ZERO);
|
tf.setObjId(result.getId());
|
// tf.setType(Constants.ZERO);
|
List<Multifile> comfileList = multifileService.findList(tf);
|
initFulFileurl(comfileList,path);
|
if(comfileList!=null){
|
for(Multifile tt : comfileList){
|
if(Constants.equalsInteger(tt.getObjType(), Constants.MultiFile.BUSINESS_LICENSE.getKey())){
|
if(result.getBusinessList() == null){
|
result.setBusinessList( new ArrayList<>());
|
}
|
result.getBusinessList().add(tt);
|
}else if(Constants.equalsInteger(tt.getObjType(), Constants.MultiFile.BUSINESS_CHANGE.getKey())){
|
if(result.getChangeFileList() == null){
|
result.setChangeFileList( new ArrayList<>());
|
}
|
result.getChangeFileList().add(tt);
|
}else if(Constants.equalsInteger(tt.getObjType(), Constants.MultiFile.BUSINESS_ZZ.getKey())){
|
if(result.getZzFileList() == null){
|
result.setZzFileList( new ArrayList<>());
|
}
|
result.getZzFileList().add(tt);
|
}else if(Constants.equalsInteger(tt.getObjType(), Constants.MultiFile.BUSINESS_NOTICE.getKey())){
|
if(result.getNoticeFileList() == null){
|
result.setNoticeFileList( new ArrayList<>());
|
}
|
result.getNoticeFileList().add(tt);
|
}
|
}
|
}
|
}
|
|
private void initFulFileurl(List<Multifile> query2list,String path) {
|
if(query2list!=null){
|
|
for(Multifile f :query2list){
|
if(StringUtils.isNoneBlank(f.getFileurl())){
|
f.setFileurlfull(path +f.getFileurl());
|
}
|
}
|
}
|
}
|
|
@Override
|
public CompanyDTO queryCompanyDetail(Integer companyId) {
|
|
MPJLambdaWrapper<Company> mpjWrapper = new MPJLambdaWrapper<>();
|
mpjWrapper.selectAll(Company.class)
|
.select("l2.name as industryName")
|
.select("l3.name as labelName")
|
.select("l.name as natureName");
|
mpjWrapper.leftJoin("labels l on l.id = t.NATURE_ID ")
|
.leftJoin("labels l2 on l2.id = t.INDUSTRY_ID ")
|
.leftJoin("labels l3 on l3.id = t.LABEL_ID ")
|
.eq(Company::getId,companyId);
|
Company result = companyJoinMapper.selectOne(mpjWrapper.last(" limit 1"));
|
CompanyDTO serviceCompany = new CompanyDTO();
|
if (Objects.nonNull(result)) {
|
BeanUtils.copyProperties(result, serviceCompany);
|
//查询该服务商资源
|
Map<Integer, List<Multifile>> objAllFileUrl = multifileService.getOBJAllFileUrl(result.getId(),Constants.ZERO);
|
List<String> licenseUrls = Optional.ofNullable(objAllFileUrl.get(Constants.MultiFile.BUSINESS_LICENSE.getKey()))
|
.orElse(new ArrayList<>())
|
.stream()
|
.map(s -> s.getFileurl())
|
.collect(Collectors.toList());
|
|
List<String> businessChanges = Optional.ofNullable(objAllFileUrl.get(Constants.MultiFile.BUSINESS_CHANGE.getKey()))
|
.orElse(new ArrayList<>())
|
.stream()
|
.map(s -> s.getFileurl())
|
.collect(Collectors.toList());
|
|
List<String> businessZzs = Optional.ofNullable(objAllFileUrl.get(Constants.MultiFile.BUSINESS_ZZ.getKey()))
|
.orElse(new ArrayList<>())
|
.stream()
|
.map(s -> s.getFileurl())
|
.collect(Collectors.toList());
|
|
List<String> businessNotices = Optional.ofNullable(objAllFileUrl.get(Constants.MultiFile.BUSINESS_NOTICE.getKey()))
|
.orElse(new ArrayList<>())
|
.stream()
|
.map(s -> s.getFileurl())
|
.collect(Collectors.toList());
|
//企业查询经济指标
|
if (Constants.equalsInteger(result.getType(),Constants.ZERO)){
|
List<CompanyEconomics> lastThreeCompanyEconomics =
|
companyEconomicsService.findLastThreeCompanyEconomics(result.getId());
|
result.setList(lastThreeCompanyEconomics);
|
}
|
|
Areas city = areasService.findById(serviceCompany.getCityId(), Constants.ONE);
|
Areas areas = areasService.findById(serviceCompany.getAreaId(), Constants.TWO);
|
serviceCompany.setProvinceId(city==null?null:city.getProvinceId());
|
serviceCompany.setProvinceName(city==null?null:city.getProvinceName());
|
serviceCompany.setCityName(city==null?null:city.getName());
|
serviceCompany.setAreaName(areas != null ? areas.getName(): "");
|
serviceCompany.setChanceFileUrls(businessChanges);
|
serviceCompany.setFileurls(licenseUrls);
|
serviceCompany.setCertificationUrls(businessZzs);
|
serviceCompany.setAcceptances(businessNotices);
|
}
|
return serviceCompany;
|
}
|
|
|
/**
|
* 是否完善资料
|
*
|
* @return
|
* @ true 已完成资料,FALSE 未完成资料
|
*/
|
@Override
|
public Boolean judgeImproveIsFinish(Company param) {
|
Company company = companyMapper.selectById(param.getId());
|
if (Objects.nonNull(company)) {
|
//查询营业执照
|
Multifile multifile = new Multifile();
|
multifile.setIsdeleted(Constants.ZERO);
|
multifile.setObjId(company.getId());
|
multifile.setObjType(Constants.MultiFile.BUSINESS_LICENSE.getKey());
|
multifile.setType(Constants.ZERO);
|
List<Multifile> query = multifileService.findList(multifile);
|
String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.COMPANY_FILE).getCode();
|
initFulFileurl(query,path);
|
if(query==null||query.size()<=0){
|
return false;
|
}
|
|
//查询近三年经济指标
|
CompanyEconomics ceQuery = new CompanyEconomics();
|
ceQuery.setIsdeleted(Constants.ZERO);
|
ceQuery.setCompanyId(company.getId());
|
List<CompanyEconomics> ceList = companyEconomicsMapper.selectList(new QueryWrapper<>(ceQuery)
|
.apply(" YEARS >= year(now())-3 ")
|
.orderByDesc("YEARS")
|
.last("limit 3")
|
);
|
if(ceList.size()>0){
|
|
boolean b = ceList.stream().anyMatch(s -> {
|
BigDecimal income = s.getIncome();
|
BigDecimal profit = s.getProfit();
|
return (Objects.isNull(income) || Objects.isNull(profit));
|
});
|
|
if (b){
|
return !b;
|
}
|
Integer year = LocalDate.now().getYear();
|
Integer upyear=year-1;
|
if(!Constants.equalsInteger(upyear,ceList.get(0).getYears())){
|
return false;
|
}
|
}
|
if (
|
StringUtils.isNotEmpty(company.getName()) &&
|
StringUtils.isNotEmpty(company.getCreditCode()) &&
|
StringUtils.isNotEmpty(company.getProduct()) &&
|
company.getAreaId() != null &&
|
company.getCityId() != null &&
|
StringUtils.isNotEmpty(company.getAddress()) &&
|
StringUtils.isNotEmpty(company.getLegalPerson()) &&
|
StringUtils.isNotEmpty(company.getLegalPersonPhone()) &&
|
StringUtils.isNotEmpty(company.getLinkName()) &&
|
StringUtils.isNotEmpty(company.getLinkPhone()) &&
|
company.getNatureId() != null &&
|
company.getIndustryId() != null &&
|
StringUtils.isNotEmpty(company.getRegisterDate()) &&
|
StringUtils.isNotEmpty(company.getContent()) &&
|
ceList.size() == 3
|
) {
|
return true;
|
} else {
|
return false;
|
}
|
} else {
|
return false;
|
}
|
}
|
|
@Override
|
public Boolean judgeCompanyServiceIsFinish(Company param) {
|
|
Company company = companyMapper.selectById(param.getId());
|
if (Objects.nonNull(company)) {
|
|
Multifile multifile = new Multifile();
|
multifile.setObjId(param.getId());
|
List<Multifile> query = multifileService.findList(multifile);
|
List<Integer> collect = query.stream().map(s -> s.getObjType())
|
.collect(Collectors.toList());
|
|
boolean b = Arrays.asList(Constants.MultiFile.BUSINESS_LICENSE.getKey()).stream()
|
.allMatch(s -> collect.contains(s));
|
|
|
if ( b &&
|
StringUtils.isNotEmpty(company.getName()) &&
|
StringUtils.isNotEmpty(company.getCreditCode()) &&
|
company.getAreaId() != null &&
|
company.getCityId() != null &&
|
StringUtils.isNotEmpty(company.getAddress()) &&
|
StringUtils.isNotEmpty(company.getLegalPerson()) &&
|
StringUtils.isNotEmpty(company.getLegalPersonPhone()) &&
|
StringUtils.isNotEmpty(company.getLinkName()) &&
|
StringUtils.isNotEmpty(company.getLinkPhone()) &&
|
StringUtils.isNotEmpty(company.getRegisterDate()) &&
|
StringUtils.isNotEmpty(company.getContent())
|
) {
|
return true;
|
}
|
}
|
return false;
|
}
|
|
|
@Override
|
public Integer updateZFServiceCompany(Company company) {
|
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
|
if (Constants.equalsInteger(user.getType(),Constants.UserType.SD_ADMIN.getKey())){
|
updateById(company);
|
}
|
return null;
|
}
|
}
|