@ -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,12 +17,14 @@ 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 ;
@ -30,6 +33,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList ;
import java.util.List ;
import java.util.Map ;
import java.util.concurrent.* ;
/ * *
* Project : anrui - base ( 安瑞基础信息模块 ) < br / >
@ -93,7 +97,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 +291,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 +395,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 ) ;