@ -3,6 +3,7 @@ package com.yxt.anrui.base.biz.basemanufacturer;
import cn.hutool.core.bean.BeanUtil ;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper ;
import com.baomidou.mybatisplus.core.metadata.IPage ;
import com.google.common.util.concurrent.ThreadFactoryBuilder ;
import com.yxt.anrui.base.api.basemanufacturer.* ;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBank ;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankDto ;
@ -16,20 +17,22 @@ import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign ;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier ;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign ;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo ;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign ;
import com.yxt.common.base.service.MybatisBaseService ;
import com.yxt.common.base.utils.PagerUtil ;
import com.yxt.common.base.utils.StringUtils ;
import com.yxt.common.core.query.PagerQuery ;
import com.yxt.common.core.result.ResultBean ;
import org.apache.tomcat.util.threads.ThreadPoolExecutor ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.stereotype.Service ;
import javax.annotation.Resource ;
import javax.servlet.http.HttpServletRequest ;
import java.util.ArrayList ;
import java.util.List ;
import java.util.Map ;
import java.util.* ;
import java.util.concurrent.* ;
import java.util.stream.Collectors ;
/ * *
* Project : anrui - base ( 安瑞基础信息模块 ) < br / >
@ -93,7 +96,6 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
}
}
qw . eq ( "bm.isDelete" , 0 ) ;
qw . ne ( "bm.supplierType" , 0001 ) ;
qw . eq ( "bm.createOrg" , params . getCreateOrgSid ( ) ) ;
return baseMapper . pagerList ( page , qw ) ;
}
@ -288,13 +290,44 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
return resultBean2 ;
}
}
BdSupplier bdSupplier = new BdSupplier ( ) ;
bdSupplier . setFName ( dto . getBaseManufacturerDto ( ) . getManufacturerName ( ) ) ;
bdSupplier . setFLocMobile ( dto . getBaseManufacturerDto ( ) . getContactMobile ( ) ) ;
bdSupplier . setFUseOrgId ( "101" ) ;
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder ( )
. setNameFormat ( "demo-pool-%d" ) . build ( ) ;
ExecutorService pool = new ThreadPoolExecutor ( 2 , 100 ,
0L , TimeUnit . MILLISECONDS ,
new LinkedBlockingQueue < Runnable > ( 1024 ) , namedThreadFactory , new ThreadPoolExecutor . AbortPolicy ( ) ) ;
String finalSid = sid ;
Future future1 = pool . submit ( ( ) - > {
//查询所有分公司,并向所有分公司中插入供应商信息
ResultBean < List < SysOrganizationVo > > orgList = sysOrganizationFeign . selectOrgSidList ( ) ;
List < SysOrganizationVo > list = orgList . getData ( ) ;
if ( ! list . isEmpty ( ) ) {
for ( SysOrganizationVo s : list ) {
BaseManufacturer baseManufacturer = new BaseManufacturer ( ) ;
BeanUtil . copyProperties ( baseManufacturerDto , baseManufacturer , "sid" , "manufacturerCode" ) ;
baseManufacturer . setManBankSid ( finalSid ) ;
baseManufacturer . setCreateOrg ( s . getSid ( ) ) ;
baseManufacturer . setUseOrg ( s . getSid ( ) ) ;
baseManufacturer . setCreateOrgName ( s . getName ( ) ) ;
baseManufacturer . setUseOrgName ( s . getName ( ) ) ;
insert ( baseManufacturer ) ;
}
}
} ) ;
Future future2 = pool . submit ( ( ) - > {
//金蝶推送
BdSupplier bdSupplier = new BdSupplier ( ) ;
bdSupplier . setFName ( dto . getBaseManufacturerDto ( ) . getManufacturerName ( ) ) ;
bdSupplier . setFLocMobile ( dto . getBaseManufacturerDto ( ) . getContactMobile ( ) ) ;
bdSupplier . setFUseOrgId ( "101" ) ;
// bdSupplier.setTOrgIds("101");
bdSupplier . setFNumber ( dto . getBaseManufacturerDto ( ) . getManufacturerCode ( ) ) ;
ResultBean < String > stringResultBean = finKingDeeFeign . draftBdSupplier ( bdSupplier ) ;
bdSupplier . setFNumber ( dto . getBaseManufacturerDto ( ) . getManufacturerCode ( ) ) ;
ResultBean < String > stringResultBean = finKingDeeFeign . draftBdSupplier ( bdSupplier ) ;
} ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
return rb . success ( ) . setMsg ( "操作成功" ) ;
}
@ -361,13 +394,16 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
ResultBean rb = ResultBean . fireFail ( ) ;
BaseManufacturer baseManufacturer = fetchBySid ( sid ) ;
if ( baseManufacturer = = null ) {
return rb . setMsg ( "该厂商 信息不存在" ) ;
return rb . setMsg ( "该信息不存在" ) ;
}
BaseManufacturerAllVo baseManufacturerAllVo = new BaseManufacturerAllVo ( ) ;
BaseManufacturerDetailsVo baseManufacturerDetailsVo = selectDetailsBySid ( sid ) ;
baseManufacturerAllVo . setBaseManufacturerDto ( baseManufacturerDetailsVo ) ;
if ( StringUtils . isNotBlank ( baseManufacturer . getManBankSid ( ) ) ) { //原厂商sid
sid = baseManufacturer . getManBankSid ( ) ;
}
List < BaseManufacturerBankVo > baseManufacturerBankVo = baseManufacturerBankService . selectDetails ( sid ) ;
BaseManufacturerFinanceVo baseManufacturerFinanceVo = baseManufacturerFinanceService . selectDetails ( sid ) ;
baseManufacturerAllVo . setBaseManufacturerDto ( baseManufacturerDetailsVo ) ;
baseManufacturerAllVo . setBaseManufacturerBankDto ( baseManufacturerBankVo ) ;
baseManufacturerAllVo . setBaseManufacturerFinanceDto ( baseManufacturerFinanceVo ) ;
return rb . success ( ) . setData ( baseManufacturerAllVo ) ;
@ -467,4 +503,48 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
}
return rb . success ( ) . setData ( stringList ) ;
}
public List < String > selectOrgList ( String type ) {
return baseMapper . selectOrgList ( type ) ;
}
public ResultBean saveAllByOrgSid ( BaseManufaQuery query ) {
ResultBean rb = ResultBean . fireFail ( ) ;
String orgSid = query . getOrgSid ( ) ;
//根据分公司查询该分公司授权的品牌
List < String > brandSidList = baseVehicleBrandService . selectOrgSidBySid ( orgSid ) ;
List < String > stringList = new ArrayList < > ( ) ;
for ( String s : brandSidList ) {
List < String > list = Arrays . asList ( s . split ( "," ) ) ;
for ( String ss : list ) {
stringList . add ( ss ) ;
}
}
//去重
stringList = stringList . stream ( ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
//查询类别为分公司的
String type = "分公司" ;
List < String > orgList2 = selectOrgList ( type ) ;
HashSet h1 = new HashSet ( stringList ) ;
HashSet h2 = new HashSet ( orgList2 ) ;
h1 . removeAll ( h2 ) ;
stringList . clear ( ) ;
stringList . addAll ( h1 ) ;
for ( String s : stringList ) {
ResultBean < SysOrganizationVo > resultBean = sysOrganizationFeign . fetchBySid ( s ) ;
SysOrganizationVo sysOrganizationVo = resultBean . getData ( ) ;
if ( sysOrganizationVo ! = null ) {
BaseManufacturer baseManufacturer = new BaseManufacturer ( ) ;
baseManufacturer . setSupplierType ( "0005" ) ;
baseManufacturer . setSupplierTypeValue ( "分公司" ) ;
baseManufacturer . setManufacturerName ( sysOrganizationVo . getName ( ) ) ;
baseManufacturer . setCreateOrg ( s ) ;
baseManufacturer . setCreateOrgName ( sysOrganizationVo . getName ( ) ) ;
baseManufacturer . setUseOrg ( s ) ;
baseManufacturer . setUseOrgName ( sysOrganizationVo . getName ( ) ) ;
insert ( baseManufacturer ) ;
}
}
return rb . success ( ) ;
}
}