|
|
@@ -2,10 +2,7 @@ package com.huyi.service.rel.controller;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
-import com.huyi.service.base.entity.SysCompany;
|
|
|
-import com.huyi.service.base.entity.SysCompanyRel;
|
|
|
-import com.huyi.service.base.entity.SysCompanySpare;
|
|
|
-import com.huyi.service.base.entity.SysUserCompanyRel;
|
|
|
+import com.huyi.service.base.entity.*;
|
|
|
import com.huyi.service.base.service.*;
|
|
|
import com.huyi.service.rel.service.IOwnCompanyRelService;
|
|
|
import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
|
|
|
@@ -66,6 +63,9 @@ public class OwnCompanyRelController extends BaseController
|
|
|
@Autowired
|
|
|
private TokenService tokenService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IZcFinanceInfService iZcFinanceInfService;
|
|
|
+
|
|
|
/**
|
|
|
* 企业正常状态
|
|
|
*/
|
|
|
@@ -97,8 +97,8 @@ public class OwnCompanyRelController extends BaseController
|
|
|
*/
|
|
|
@PreAuthorize(hasPermi = "service:rel:list")
|
|
|
@GetMapping("/list")
|
|
|
- public R list(String scyId, String scySocialCode, String companyName,
|
|
|
- String scrType, String scrStatus, String scrContarct, QueryRequest request)
|
|
|
+ public R list(String scyId, String scySocialCode, String companyName, String scpStatus,
|
|
|
+ String scrType, String scrStatus, String scpContarct, QueryRequest request)
|
|
|
{
|
|
|
//获取当前操作员
|
|
|
LoginUser user = tokenService.getLoginUser();
|
|
|
@@ -117,6 +117,9 @@ public class OwnCompanyRelController extends BaseController
|
|
|
if(CommonUtil.isNotEmpty(scySocialCode)) {
|
|
|
map.put("scySocialCode", scySocialCode);
|
|
|
}
|
|
|
+ if (CommonUtil.isNotEmpty(scpStatus)) {
|
|
|
+ map.put("scpStatus", scpStatus);
|
|
|
+ }
|
|
|
if(CommonUtil.isNotEmpty(scrType)) {
|
|
|
map.put("scrType", scrType);
|
|
|
}
|
|
|
@@ -130,17 +133,17 @@ public class OwnCompanyRelController extends BaseController
|
|
|
if (CommonUtil.isNotEmpty(companyName)) {
|
|
|
map.put("name", companyName);
|
|
|
}
|
|
|
- if (CommonUtil.isNotEmpty(scySocialCode)) {
|
|
|
- map.put("code", scySocialCode);
|
|
|
+ if (CommonUtil.isNotEmpty(scrStatus)) {
|
|
|
+ map.put("scrStatus", scrStatus);
|
|
|
}
|
|
|
- if (CommonUtil.isNotEmpty(scrType)) {
|
|
|
- map.put("type", scrType);
|
|
|
+ if (CommonUtil.isNotEmpty(scpStatus)) {
|
|
|
+ map.put("scpStatus", scpStatus);
|
|
|
}
|
|
|
- if (CommonUtil.isNotEmpty(scrStatus)) {
|
|
|
- map.put("status", scrStatus);
|
|
|
+ if(CommonUtil.isNotEmpty(scpContarct)){
|
|
|
+ map.put("scpContarct",scpContarct);
|
|
|
}
|
|
|
- if(CommonUtil.isNotEmpty(scrContarct)){
|
|
|
- map.put("scrContarct",scrContarct);
|
|
|
+ if(CommonUtil.isNotEmpty(scrType)){
|
|
|
+ map.put("scrType",scrType);
|
|
|
}
|
|
|
}
|
|
|
IPage<Map> list = iOwnCompanyRelService.selectCompanyRelList(request,map);
|
|
|
@@ -327,14 +330,6 @@ public class OwnCompanyRelController extends BaseController
|
|
|
if(CommonUtil.isEmpty(scyName)){
|
|
|
throw new Exception("企业名称不能为空");
|
|
|
}
|
|
|
- //企业名称正则校验
|
|
|
- String checkScyName = "^([\\u4e00-\\u9fa5]+|[a-zA-Z0-9]+)$";
|
|
|
- Pattern regeScyName = Pattern.compile(checkScyName);
|
|
|
- Matcher matcherScyName = regeScyName.matcher(scyName);
|
|
|
- boolean isMatScyName = matcherScyName.matches();
|
|
|
- if(!isMatScyName){
|
|
|
- throw new Exception("企业名称格式错误,不能含有特殊字符");
|
|
|
- }
|
|
|
//统一社会信用代码
|
|
|
String scySocialCode = CommonUtil.objToString(map.get("scySocialCode"));
|
|
|
if(CommonUtil.isEmpty(scySocialCode)){
|
|
|
@@ -390,13 +385,14 @@ public class OwnCompanyRelController extends BaseController
|
|
|
}
|
|
|
//创建主键
|
|
|
String scrId = IdUtils.fastSimpleUUID();
|
|
|
+ String scpId = IdUtils.fastSimpleUUID();
|
|
|
//链属企业Id
|
|
|
String scyId = "";
|
|
|
//查询有无企业信息
|
|
|
LambdaQueryWrapper<SysCompany> companyLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
companyLambdaQueryWrapper.eq(SysCompany::getScyName,scyName);
|
|
|
companyLambdaQueryWrapper.eq(SysCompany::getScySocialCode,scySocialCode);
|
|
|
- companyLambdaQueryWrapper.eq(SysCompany::getScyStatus,"00");
|
|
|
+ companyLambdaQueryWrapper.eq(SysCompany::getScyStatus,NORMAL_STATE);
|
|
|
List<SysCompany> companyList = iSysCompanyService.findSysCompanys(companyLambdaQueryWrapper);
|
|
|
//获取企业Id
|
|
|
if(companyList.size() > 0){
|
|
|
@@ -458,6 +454,34 @@ public class OwnCompanyRelController extends BaseController
|
|
|
//创建时间
|
|
|
sysCompanyRel.setCreateTime(DateUtils.getNowDate());
|
|
|
iSysCompanyRelService.createSysCompanyRel(sysCompanyRel);
|
|
|
+ //增加链属企业信息表
|
|
|
+ SysCompanySpare sysCompanySpare = new SysCompanySpare();
|
|
|
+ //主键
|
|
|
+ sysCompanySpare.setScpId(scpId);
|
|
|
+ //企业名称
|
|
|
+ sysCompanySpare.setScpName(scyName);
|
|
|
+ //录入企业
|
|
|
+ sysCompanySpare.setScpCompanyId(companyId);
|
|
|
+ //链属关系表id
|
|
|
+ sysCompanySpare.setScpRelId(scrId);
|
|
|
+ //企业信用代码
|
|
|
+ sysCompanySpare.setScpSocialCode(scySocialCode);
|
|
|
+ //联系人
|
|
|
+ sysCompanySpare.setScpContarct(scrContarct);
|
|
|
+ //联系电话
|
|
|
+ sysCompanySpare.setScpContarctPhone(scrContarctPhone);
|
|
|
+ //邮箱
|
|
|
+ sysCompanySpare.setScpContarctEmail(scrContarctEmail);
|
|
|
+ //状态(01:已认证)
|
|
|
+ sysCompanySpare.setScpStatus(CONFIRM_STATE);
|
|
|
+ //链属类型
|
|
|
+ sysCompanySpare.setScpType(scrReceiveType);
|
|
|
+ //创建人
|
|
|
+ sysCompanySpare.setCreateBy(userId);
|
|
|
+ //创建时间
|
|
|
+ sysCompanySpare.setCreateTime(DateUtils.getNowDate());
|
|
|
+ //新增
|
|
|
+ iSysCompanySpareService.createSysCompanySpare(sysCompanySpare);
|
|
|
//查询链属企业绑定用户
|
|
|
LambdaQueryWrapper<SysUserCompanyRel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,scyId);
|
|
|
@@ -482,7 +506,7 @@ public class OwnCompanyRelController extends BaseController
|
|
|
queryWrapper.ne(SysCompany::getScyStatus,"99");
|
|
|
List<SysCompany> list = iSysCompanyService.findSysCompanys(queryWrapper);
|
|
|
if(list.size() > 0){
|
|
|
- throw new Exception("企业名称已存在,不可关联本企业");
|
|
|
+ throw new Exception("企业名称已存在,不可关联此企业");
|
|
|
}
|
|
|
LambdaQueryWrapper<SysCompanySpare> spareLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
spareLambdaQueryWrapper.eq(SysCompanySpare::getScpCompanyId,companyId);
|
|
|
@@ -526,23 +550,25 @@ public class OwnCompanyRelController extends BaseController
|
|
|
iSysCompanySpareService.createSysCompanySpare(sysCompanySpare);
|
|
|
//获取字典的阿里短信模板
|
|
|
String templateCode = "SMS_222871823";
|
|
|
+ if(CommonUtil.isNotEmpty(scrContarct) && CommonUtil.isNotEmpty(scrContarctPhone)) {
|
|
|
// List<SysDictData> state = RedisUtils.getDictCache("aliyun_message_code");
|
|
|
// for (SysDictData sysDictData :state){
|
|
|
// if("yaoqing".equals(sysDictData.getDictLabel())) {
|
|
|
// templateCode = sysDictData.getDictValue();
|
|
|
// }
|
|
|
// }
|
|
|
- //获取url
|
|
|
- String url = configService.selectConfigByKey("zc_spare");
|
|
|
- Map msgMap = new HashMap();
|
|
|
- msgMap.put("companyName",scyName);
|
|
|
- msgMap.put("url",url);
|
|
|
- //发送短信
|
|
|
+ //获取url
|
|
|
+ String url = configService.selectConfigByKey("zc_spare");
|
|
|
+ Map msgMap = new HashMap();
|
|
|
+ msgMap.put("companyName", scyName);
|
|
|
+ msgMap.put("url", url);
|
|
|
+ //发送短信
|
|
|
// iMessageUtilsService.sendMessageCode(scrContarctPhone, templateCode, msgMap,null);
|
|
|
- //邀请次数赋值
|
|
|
- SysCompanySpare spare = iSysCompanySpareService.getById(scrId);
|
|
|
- spare.setScpInvite("1");
|
|
|
- iSysCompanySpareService.updateById(spare);
|
|
|
+ //邀请次数赋值
|
|
|
+ SysCompanySpare spare = iSysCompanySpareService.getById(scrId);
|
|
|
+ spare.setScpInvite("1");
|
|
|
+ iSysCompanySpareService.updateById(spare);
|
|
|
+ }
|
|
|
}
|
|
|
return R.ok();
|
|
|
}
|
|
|
@@ -582,13 +608,76 @@ public class OwnCompanyRelController extends BaseController
|
|
|
@PreAuthorize(hasPermi = "service:rel:delete")
|
|
|
@Log(title = "删除链属公司", businessType = BusinessType.DELETE)
|
|
|
@DeleteMapping("/{launchScrId}")
|
|
|
- public R remove(@PathVariable String launchScrId)
|
|
|
+ public R remove(@PathVariable String launchScrId) throws Exception
|
|
|
{
|
|
|
+ SysCompanyRel rel = iSysCompanyRelService.getById(launchScrId);
|
|
|
+ //发起者
|
|
|
+ String launchCompanyId = rel.getScrLaunchCompanyId();
|
|
|
+ //接收方
|
|
|
+ String receiveCompanyId = rel.getScrReceiveCompanyId();
|
|
|
+ //查询发起方企业类型
|
|
|
+ SysCompany sysCompany = iSysCompanyService.getById(launchCompanyId);
|
|
|
+ String launchType = sysCompany.getScyType();
|
|
|
+ //查询接收方企业类型
|
|
|
+ SysCompany company = iSysCompanyService.getById(receiveCompanyId);
|
|
|
+ String receiveType = company.getScyType();
|
|
|
+ //如果发起方为供应商,接收方为核心企业
|
|
|
+ if("00".equals(launchType) && "01".equals(receiveType)){
|
|
|
+ //查询企业是否含有正在存在的业务(第二种情况(发起者为核心企业,接收者为供应商))
|
|
|
+ LambdaQueryWrapper<ZcFinanceInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(ZcFinanceInf::getZfiSupplierId, launchCompanyId);
|
|
|
+ lambdaQueryWrapper.eq(ZcFinanceInf::getZfiCoreId,receiveCompanyId);
|
|
|
+ lambdaQueryWrapper.ne(ZcFinanceInf::getZfiStatus,"07");
|
|
|
+ List<ZcFinanceInf> financeInfList = iZcFinanceInfService.findZcFinanceInfs(lambdaQueryWrapper);
|
|
|
+ if(financeInfList.size() > 0){
|
|
|
+ throw new Exception("存在进行中的业务,不可解绑");
|
|
|
+ }
|
|
|
+ //查询正向保理融信业务
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("supplierId",launchCompanyId);
|
|
|
+ map.put("coreId",receiveCompanyId);
|
|
|
+ List<Map> list = iOwnCompanyRelService.financeRelList(map);
|
|
|
+ if(list.size() > 0){
|
|
|
+ throw new Exception("存在进行中的业务,不可解绑");
|
|
|
+ }
|
|
|
+ //如果发起方为核心企业,接收方为供应商
|
|
|
+ }else if("00".equals(receiveType) && "01".equals(launchType)){
|
|
|
+ //查询企业是否含有正在存在的业务(第二种情况(发起者为核心企业,接收者为供应商))
|
|
|
+ LambdaQueryWrapper<ZcFinanceInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(ZcFinanceInf::getZfiSupplierId, receiveCompanyId);
|
|
|
+ lambdaQueryWrapper.eq(ZcFinanceInf::getZfiCoreId,launchCompanyId);
|
|
|
+ lambdaQueryWrapper.ne(ZcFinanceInf::getZfiStatus,"07");
|
|
|
+ List<ZcFinanceInf> financeInfList = iZcFinanceInfService.findZcFinanceInfs(lambdaQueryWrapper);
|
|
|
+ if(financeInfList.size() > 0){
|
|
|
+ throw new Exception("存在进行中的业务,不可解绑");
|
|
|
+ }
|
|
|
+ //查询正向保理融信业务
|
|
|
+ Map map = new HashMap();
|
|
|
+ map.put("supplierId",receiveCompanyId);
|
|
|
+ map.put("coreId",launchCompanyId);
|
|
|
+ List<Map> list = iOwnCompanyRelService.financeRelList(map);
|
|
|
+ if(list.size() > 0){
|
|
|
+ throw new Exception("存在进行中的业务,不可解绑");
|
|
|
+ }
|
|
|
+ }
|
|
|
SysCompanyRel sysCompanyRel = new SysCompanyRel();
|
|
|
//主键
|
|
|
sysCompanyRel.setScrId(launchScrId);
|
|
|
//状态99
|
|
|
sysCompanyRel.setScrStatus(DELETE_STATE);
|
|
|
+ //链属信息表
|
|
|
+ LambdaQueryWrapper<SysCompanySpare> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SysCompanySpare::getScpRelId,launchScrId);
|
|
|
+ List<SysCompanySpare> spareList = iSysCompanySpareService.findSysCompanySpares(queryWrapper);
|
|
|
+ if(spareList.size() > 0) {
|
|
|
+ String scpId = spareList.get(0).getScpId();
|
|
|
+ SysCompanySpare sysCompanySpare = new SysCompanySpare();
|
|
|
+ //链属表id
|
|
|
+ sysCompanySpare.setScpId(scpId);
|
|
|
+ //删除状态
|
|
|
+ sysCompanySpare.setScpStatus(DELETE_STATE);
|
|
|
+ iSysCompanySpareService.updateById(sysCompanySpare);
|
|
|
+ }
|
|
|
iSysCompanyRelService.updateById(sysCompanyRel);
|
|
|
return R.ok();
|
|
|
}
|