You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
6.1 KiB
Java
119 lines
6.1 KiB
Java
package com.glxp.api.service.basic;
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
import cn.hutool.extra.pinyin.PinyinUtil;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.constant.ConstantStatus;
|
|
import com.glxp.api.entity.basic.BasicCorpEntity;
|
|
import com.glxp.api.entity.thrsys.ThrManufacturerEntity;
|
|
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
|
|
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
|
|
import com.glxp.api.req.thrsys.FilterThrCorpRequest;
|
|
import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.res.thrsys.ThrCorpsResponse;
|
|
import com.glxp.api.service.thrsys.ThrManufacturerService;
|
|
import com.glxp.api.util.CustomUtil;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.glxp.api.entity.basic.BasicManufacturerEntity;
|
|
import com.glxp.api.dao.basic.BasicManufacturerMapper;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.*;
|
|
|
|
@Service
|
|
public class BasicManufacturerService extends ServiceImpl<BasicManufacturerMapper, BasicManufacturerEntity> {
|
|
|
|
|
|
@Resource
|
|
BasicManufacturerMapper basicManufacturerMapper;
|
|
|
|
public List<BasicManufacturerEntity> filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest) {
|
|
if (basicUnitMaintainFilterRequest == null) {
|
|
return Collections.emptyList();
|
|
}
|
|
if (basicUnitMaintainFilterRequest.getPage() != null) {
|
|
int offset = (basicUnitMaintainFilterRequest.getPage() - 1) * basicUnitMaintainFilterRequest.getLimit();
|
|
PageHelper.offsetPage(offset, basicUnitMaintainFilterRequest.getLimit());
|
|
}
|
|
|
|
List<BasicManufacturerEntity> data = basicManufacturerMapper.filterList(basicUnitMaintainFilterRequest);
|
|
return data;
|
|
}
|
|
|
|
|
|
public boolean verifyExists(BasicManufacturerEntity basicCorpEntity) {
|
|
List<BasicManufacturerEntity> list = basicManufacturerMapper.selectByNameAndCreditNo(basicCorpEntity.getName(), basicCorpEntity.getCreditNo());
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
if (null != basicCorpEntity.getId()) {
|
|
for (BasicManufacturerEntity corpEntity : list) {
|
|
if (!corpEntity.getId().equals(basicCorpEntity.getId())) {
|
|
return true;
|
|
}
|
|
}
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Resource
|
|
ThrManufacturerService thrManufacturerService;
|
|
|
|
@Async
|
|
public void selectAllUnit(ThrSystemDetailEntity thrSystemDetailEntity, ThrUnitMaintainFilterRequest unitMaintainFilterRequest) {
|
|
List<ThrManufacturerEntity> imports = new ArrayList<>();
|
|
|
|
FilterThrCorpRequest filterThrCorpRequest = new FilterThrCorpRequest();
|
|
BeanUtils.copyProperties(unitMaintainFilterRequest, filterThrCorpRequest);
|
|
filterThrCorpRequest.setThirdSysFk(unitMaintainFilterRequest.getThirdSys());
|
|
filterThrCorpRequest.setPage(null);
|
|
List<ThrManufacturerEntity> thrCorpEntities = thrManufacturerService.filterThrManu(filterThrCorpRequest);
|
|
imports.addAll(thrCorpEntities);
|
|
if (imports != null && imports.size() > 0) {
|
|
for (ThrManufacturerEntity erpUnitsResponse : imports) {
|
|
BasicManufacturerEntity thrUnitMaintainResponse = new BasicManufacturerEntity();
|
|
if (unitMaintainFilterRequest.getThirdSys() != null) {
|
|
if ("thirdId".equals(unitMaintainFilterRequest.getThirdSys())) {
|
|
thrUnitMaintainResponse.setThirdId(erpUnitsResponse.getUnitId());
|
|
thrUnitMaintainResponse.setThirdName(erpUnitsResponse.getName());
|
|
} else if ("thirdId1".equals(unitMaintainFilterRequest.getThirdSys())) {
|
|
thrUnitMaintainResponse.setThirdId1(erpUnitsResponse.getUnitId());
|
|
thrUnitMaintainResponse.setThirdName1(erpUnitsResponse.getName());
|
|
} else if ("thirdId2".equals(unitMaintainFilterRequest.getThirdSys())) {
|
|
thrUnitMaintainResponse.setThirdId2(erpUnitsResponse.getUnitId());
|
|
thrUnitMaintainResponse.setThirdName2(erpUnitsResponse.getName());
|
|
} else if ("thirdId3".equals(unitMaintainFilterRequest.getThirdSys())) {
|
|
thrUnitMaintainResponse.setThirdId3(erpUnitsResponse.getUnitId());
|
|
thrUnitMaintainResponse.setThirdName3(erpUnitsResponse.getName());
|
|
} else if ("thirdId4".equals(unitMaintainFilterRequest.getThirdSys())) {
|
|
thrUnitMaintainResponse.setThirdId4(erpUnitsResponse.getUnitId());
|
|
thrUnitMaintainResponse.setThirdName4(erpUnitsResponse.getName());
|
|
}
|
|
}
|
|
thrUnitMaintainResponse.setErpId(CustomUtil.getId());
|
|
thrUnitMaintainResponse.setName(erpUnitsResponse.getName());
|
|
if (erpUnitsResponse.getSpell() == null || "".equals(erpUnitsResponse.getSpell())) {
|
|
thrUnitMaintainResponse.setSpell(PinyinUtil.getFirstLetter(erpUnitsResponse.getName(), "").toUpperCase(Locale.ROOT));
|
|
} else {
|
|
thrUnitMaintainResponse.setSpell(erpUnitsResponse.getSpell());
|
|
}
|
|
thrUnitMaintainResponse.setAddr(erpUnitsResponse.getAddr());
|
|
thrUnitMaintainResponse.setCreditNo(erpUnitsResponse.getCreditNo());
|
|
thrUnitMaintainResponse.setCorpType(ConstantStatus.CORP_SP);
|
|
thrUnitMaintainResponse.setContact(erpUnitsResponse.getContact());
|
|
thrUnitMaintainResponse.setMobile(erpUnitsResponse.getMobile());
|
|
thrUnitMaintainResponse.setUpdateTime(new Date());
|
|
thrUnitMaintainResponse.setId(IdUtil.getSnowflakeNextId());
|
|
basicManufacturerMapper.insertIgnore(thrUnitMaintainResponse);
|
|
}
|
|
}
|
|
}
|
|
}
|