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.
udi-wms-java/src/main/java/com/glxp/api/service/basic/BasicManufacturerService.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);
}
}
}
}