|
|
|
@ -1,15 +1,15 @@
|
|
|
|
|
package com.ruoyi.jjh.declaration.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
|
|
import com.ruoyi.jjh.declaration.component.TimingRemindImpl;
|
|
|
|
|
import com.ruoyi.jjh.declaration.component.TimingRemindService;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.*;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.dto.BmsTemplateQueryDto;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.BmsDeclarationRecords;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.BmsEnterpriseBasicInfo;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.BmsEnterpriseDirectory;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.BmsTemplateInfo;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.BmsTemplateRecord;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.dto.BmsTemplateRecordAddDto;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.dto.BmsTemplateRecordQueryDto;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.dto.BmsTemplateRecordUpdateDto;
|
|
|
|
@ -17,7 +17,11 @@ import com.ruoyi.jjh.declaration.entity.vo.BmsTemplateRecordQueryVo;
|
|
|
|
|
import com.ruoyi.jjh.declaration.entity.vo.BmsTemplateRecordVo;
|
|
|
|
|
import com.ruoyi.jjh.declaration.mapper.BmsTemplateRecordMapper;
|
|
|
|
|
import com.ruoyi.jjh.declaration.regular.TimeChange;
|
|
|
|
|
import com.ruoyi.jjh.declaration.service.*;
|
|
|
|
|
import com.ruoyi.jjh.declaration.service.IBmsDeclarationRecordsService;
|
|
|
|
|
import com.ruoyi.jjh.declaration.service.IBmsEnterpriseBasicInfoService;
|
|
|
|
|
import com.ruoyi.jjh.declaration.service.IBmsEnterpriseDirectoryService;
|
|
|
|
|
import com.ruoyi.jjh.declaration.service.IBmsTemplateInfoService;
|
|
|
|
|
import com.ruoyi.jjh.declaration.service.IBmsTemplateRecordService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
@ -104,11 +108,11 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
public int supplementation(BmsTemplateRecordUpdateDto bmsTemplateRecordUpdateDto) {
|
|
|
|
|
BmsTemplateRecord infos = getById(bmsTemplateRecordUpdateDto.getId());
|
|
|
|
|
BmsTemplateInfo tp = iBmsTemplateInfoService.getById(bmsTemplateRecordUpdateDto.getTemplateId());
|
|
|
|
|
if (infos.getIsTime() == 1){
|
|
|
|
|
if (infos.getIsTime() == 1) {
|
|
|
|
|
bmsTemplateRecordUpdateDto.setStartTime(null);
|
|
|
|
|
bmsTemplateRecordUpdateDto.setEndTime(null);
|
|
|
|
|
bmsTemplateRecordUpdateDto.setStatus(3);
|
|
|
|
|
}else if(infos.getIsTime() == 0){
|
|
|
|
|
} else if (infos.getIsTime() == 0) {
|
|
|
|
|
//只有未修改之前是过期的才能补录
|
|
|
|
|
if (bmsTemplateRecordUpdateDto.getStatus() != 1) {
|
|
|
|
|
throw new ServiceException("未过期不可以补录");
|
|
|
|
@ -117,7 +121,7 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
if (bmsTemplateRecordUpdateDto.getStatus() != 2) {
|
|
|
|
|
throw new ServiceException("请修改时间范围为有效区间");
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
throw new ServiceException("补录失败");
|
|
|
|
|
}
|
|
|
|
|
int num = baseMapper.updateById(bmsTemplateRecordUpdateDto);
|
|
|
|
@ -144,7 +148,7 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
}
|
|
|
|
|
//java有两个list实体类集合 如果a集合某条数据里面的name和b里面某条数据的name相等 就去除a的该条数据
|
|
|
|
|
enterpriseDirectoryList.removeIf(entityA -> list.stream().anyMatch(entityB -> entityB.getCreditCode().equals(entityA.getCreditCode())));
|
|
|
|
|
enterpriseDirectoryList.forEach(x->{
|
|
|
|
|
enterpriseDirectoryList.forEach(x -> {
|
|
|
|
|
x.setTemplateRecordId(bmsTemplateRecordUpdateDto.getId());
|
|
|
|
|
getDeclarationRecordsList(bmsTemplateRecordUpdateDto, drlist, x.getCreditCode(), tp.getTemplateJson());
|
|
|
|
|
});
|
|
|
|
@ -194,22 +198,22 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
// 1 新增申报任务时,增加一个选项:是否审批(需要审批/不需要审批),选了“不需要审批”的企业填报后,状态变为“已填报”,不再进行后续流程,并且这种情况不对接到项目库。
|
|
|
|
|
// 2、新增申报任务时,若项目分类选择了“企业信息收集”里面的,则只能选择“不需要审批”,这类申报都不对接项目库。
|
|
|
|
|
BmsTemplateInfo tp = iBmsTemplateInfoService.getById(bmsTemplateRecordAddDto.getTemplateId());
|
|
|
|
|
if(tp.getProjectBigType()== 11 &bmsTemplateRecordAddDto.getIsApproval()==1){
|
|
|
|
|
if (tp.getProjectBigType() == 11 & bmsTemplateRecordAddDto.getIsApproval() == 1) {
|
|
|
|
|
throw new ServiceException("企业信息收集模板,不需要审批");
|
|
|
|
|
}
|
|
|
|
|
int num = 0;
|
|
|
|
|
QueryWrapper<BmsTemplateRecord> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
queryWrapper.eq("enterprise_directory", bmsTemplateRecordAddDto.getEnterpriseDirectory());
|
|
|
|
|
List<BmsTemplateRecord> isFlag = baseMapper.selectList(queryWrapper);
|
|
|
|
|
if(!isFlag.isEmpty()){
|
|
|
|
|
if (!isFlag.isEmpty()) {
|
|
|
|
|
throw new ServiceException("该申报任务标题已经存在");
|
|
|
|
|
}
|
|
|
|
|
//如果不限时
|
|
|
|
|
if(bmsTemplateRecordAddDto.getIsTime()==null){
|
|
|
|
|
if (bmsTemplateRecordAddDto.getIsTime() == null) {
|
|
|
|
|
throw new ServiceException("请选择是否限时");
|
|
|
|
|
} else if(bmsTemplateRecordAddDto.getIsTime() == 1){
|
|
|
|
|
} else if (bmsTemplateRecordAddDto.getIsTime() == 1) {
|
|
|
|
|
bmsTemplateRecordAddDto.setStatus(3);
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
//新增的时候根据当前时间判断状态是否有效
|
|
|
|
|
tiTimeChange.getTime(bmsTemplateRecordAddDto);
|
|
|
|
|
}
|
|
|
|
@ -223,7 +227,7 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
//如果前端部分企业名录集合为空
|
|
|
|
|
if (null != enterpriseDirectoryList && enterpriseDirectoryList.size() > 0) {
|
|
|
|
|
enterpriseDirectoryList.forEach(x -> {
|
|
|
|
|
getDeclarationRecordsList(bmsTemplateRecordAddDto, drlist, x.getCreditCode(),tp.getTemplateJson());
|
|
|
|
|
getDeclarationRecordsList(bmsTemplateRecordAddDto, drlist, x.getCreditCode(), tp.getTemplateJson());
|
|
|
|
|
x.setTemplateRecordId(bmsTemplateRecordAddDto.getId());
|
|
|
|
|
});
|
|
|
|
|
enterpriseDirectoryService.saveBatch(enterpriseDirectoryList);
|
|
|
|
@ -236,17 +240,17 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
bms.setEnterpriseName(items.getQymc());
|
|
|
|
|
bms.setCreditCode(items.getTyshxydm());
|
|
|
|
|
copyList.add(bms);
|
|
|
|
|
getDeclarationRecordsList(bmsTemplateRecordAddDto, drlist, items.getTyshxydm(),tp.getTemplateJson());
|
|
|
|
|
getDeclarationRecordsList(bmsTemplateRecordAddDto, drlist, items.getTyshxydm(), tp.getTemplateJson());
|
|
|
|
|
}
|
|
|
|
|
enterpriseDirectoryService.saveBatch(copyList);
|
|
|
|
|
}
|
|
|
|
|
iBmsDeclarationRecordsService.saveBatch(drlist);
|
|
|
|
|
//给刚刚添加进企业名录的所有企业的联系人发短信
|
|
|
|
|
//获取每个企业对应的常用联系人
|
|
|
|
|
if(isTiming){
|
|
|
|
|
if (isTiming) {
|
|
|
|
|
List<BmsEnterpriseDirectory> list = enterpriseDirectoryService.lambdaQuery().eq(BmsEnterpriseDirectory::getTemplateRecordId, bmsTemplateRecordAddDto.getId()).list();
|
|
|
|
|
for (BmsEnterpriseDirectory x : list) {
|
|
|
|
|
timingRemindImpl.getContact(x.getCreditCode(),"您有1个新的申报任务[待填报]");
|
|
|
|
|
timingRemindImpl.getContact(x.getCreditCode(), "您有1个新的申报任务[待填报]");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return num;
|
|
|
|
@ -255,7 +259,7 @@ public class BmsTemplateRecordServiceImpl extends ServiceImpl<BmsTemplateRecordM
|
|
|
|
|
/**
|
|
|
|
|
* 生成在线申报记录
|
|
|
|
|
*/
|
|
|
|
|
private void getDeclarationRecordsList(BmsTemplateRecord bmsTemplateRecordAddDto, List<BmsDeclarationRecords> drlist, String creditCode,String json) {
|
|
|
|
|
private void getDeclarationRecordsList(BmsTemplateRecord bmsTemplateRecordAddDto, List<BmsDeclarationRecords> drlist, String creditCode, String json) {
|
|
|
|
|
BmsDeclarationRecords drItems = new BmsDeclarationRecords();
|
|
|
|
|
drItems.setProjectName(bmsTemplateRecordAddDto.getEnterpriseDirectory());
|
|
|
|
|
drItems.setYear(String.valueOf(Year.now().getValue()));
|
|
|
|
|