Commit 3b495365 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 0fccfe33 740920bb
...@@ -49,7 +49,7 @@ spring: ...@@ -49,7 +49,7 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://111.204.34.146:63308/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://111.204.34.146:63308/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
username: dev username: dev
password: DskSzh!456 password: DskSzh!456
# 从库数据源 # 从库数据源
......
...@@ -49,7 +49,7 @@ spring: ...@@ -49,7 +49,7 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562 # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://111.204.34.146:63308/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://111.204.34.146:63308/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
username: dev username: dev
password: DskSzh!456 password: DskSzh!456
# 从库数据源 # 从库数据源
......
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -28,9 +29,7 @@ import org.springframework.stereotype.Service; ...@@ -28,9 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* 咨询机构(SysAdvisoryBody)表服务实现类 * 咨询机构(SysAdvisoryBody)表服务实现类
...@@ -59,15 +58,18 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -59,15 +58,18 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
//先按照分页要求从咨询机构表中查出分页数据 //先按照分页要求从咨询机构表中查出分页数据
QueryWrapper<AdvisoryBody> wrapper = Wrappers.query(); QueryWrapper<AdvisoryBody> wrapper = Wrappers.query();
wrapper.like(StringUtils.isNotBlank(advisoryBodySearchBo.getAdvisoryBodyName()), "advisory_body_name", advisoryBodySearchBo.getAdvisoryBodyName()) wrapper.like(StringUtils.isNotBlank(advisoryBodySearchBo.getAdvisoryBodyName()), "advisory_body_name", advisoryBodySearchBo.getAdvisoryBodyName())
.between(ObjectUtil.isNotNull(advisoryBodySearchBo.getMinLastCooperateDate()) && ObjectUtil.isNotNull(advisoryBodySearchBo.getMaxLastCooperateDate()),
"create_time",
advisoryBodySearchBo.getMinLastCooperateDate(),
advisoryBodySearchBo.getMaxLastCooperateDate())
.like(StringUtils.isNotBlank(advisoryBodySearchBo.getBusinessScope()), "business_scope", advisoryBodySearchBo.getBusinessScope()); .like(StringUtils.isNotBlank(advisoryBodySearchBo.getBusinessScope()), "business_scope", advisoryBodySearchBo.getBusinessScope());
Page<AdvisoryBodySearchVo> page = baseMapper.selectPageAdvisoryBodyList(pageQuery.build(), wrapper); Page<AdvisoryBodySearchVo> page = baseMapper.selectPageAdvisoryBodyList(pageQuery.build(), wrapper);
Date minLastCooperateDate = advisoryBodySearchBo.getMinLastCooperateDate();
Date maxLastCooperateDate = advisoryBodySearchBo.getMaxLastCooperateDate();
//根据咨询机构cid查询对应的企业信息 //根据咨询机构cid查询对应的企业信息
for (AdvisoryBodySearchVo advisoryBodySearchVo : page.getRecords()) { List<AdvisoryBodySearchVo> advisoryBodySearchVoList = page.getRecords();
Iterator<AdvisoryBodySearchVo> iterator = advisoryBodySearchVoList.iterator();
while (iterator.hasNext()) {
AdvisoryBodySearchVo advisoryBodySearchVo = iterator.next();
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody(); EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
//有Cid的才去建设库查数据 //有Cid的才去建设库查数据
if (ObjectUtil.isNotNull(advisoryBodySearchVo.getAdvisoryBodyCid())) { if (ObjectUtil.isNotNull(advisoryBodySearchVo.getAdvisoryBodyCid())) {
...@@ -77,14 +79,30 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -77,14 +79,30 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
} }
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false)); Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null); Map companyData = MapUtils.getMap(companyMap, "data", null);
//最近一次合作时间
//查询最近一次合作时间
List<AdvisoryBodyProject> advisoryBodyProjectList = advisoryBodyProjectMapper.selectList(new LambdaQueryWrapper<AdvisoryBodyProject>() List<AdvisoryBodyProject> advisoryBodyProjectList = advisoryBodyProjectMapper.selectList(new LambdaQueryWrapper<AdvisoryBodyProject>()
.select(AdvisoryBodyProject::getCreateTime) .select(AdvisoryBodyProject::getCreateTime)
.eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid()) .eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid())
.orderByDesc(AdvisoryBodyProject::getCreateTime)); .orderByDesc(AdvisoryBodyProject::getCreateTime));
Date lastCooperateDate = null;
if (ObjectUtil.isNotNull(advisoryBodyProjectList) && !advisoryBodyProjectList.isEmpty()) { if (ObjectUtil.isNotNull(advisoryBodyProjectList) && !advisoryBodyProjectList.isEmpty()) {
advisoryBodySearchVo.setLastCooperateTime(advisoryBodyProjectList.get(0).getCreateTime()); //暂时取记录生成作为最近一次合作时间
//TODO:AdvisoryBodyProject表中保留了cooperate_time字段,应当取该字段作为最近一次合作时间,但产品并未给存入这个字段的需求
lastCooperateDate = advisoryBodyProjectList.get(0).getCreateTime();
advisoryBodySearchVo.setLastCooperateTime(lastCooperateDate);
}
//筛选最近一次合作时间
if (ObjectUtil.isNotNull(lastCooperateDate)
&& ObjectUtil.isNotNull(minLastCooperateDate)
&& ObjectUtil.isNotNull(maxLastCooperateDate)) {
if (DateUtil.isExpired(minLastCooperateDate, maxLastCooperateDate, lastCooperateDate)) {
iterator.remove();
continue;
}
} }
//经营范围 //经营范围
advisoryBodySearchVo.setBusinessStatus(MapUtils.getString(companyData, "businessStatus", "")); advisoryBodySearchVo.setBusinessStatus(MapUtils.getString(companyData, "businessStatus", ""));
//法人 //法人
...@@ -104,6 +122,7 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -104,6 +122,7 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
advisoryBodySearchVo.setCooperateProjectCount(advisoryBodyProjectMapper.selectCount(new LambdaQueryWrapper<AdvisoryBodyProject>() advisoryBodySearchVo.setCooperateProjectCount(advisoryBodyProjectMapper.selectCount(new LambdaQueryWrapper<AdvisoryBodyProject>()
.eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid()))); .eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid())));
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
...@@ -132,7 +151,7 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -132,7 +151,7 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list"); List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) { for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端 //企业名称完全匹配上,则直接返回给前端
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name","NotExist")); String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (advisoryBodyName.equals(companyName)) { if (advisoryBodyName.equals(companyName)) {
AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo(); AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo();
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid"))); advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
...@@ -158,7 +177,8 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -158,7 +177,8 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) { public Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) {
long advisoryBodyId = IdUtil.getSnowflakeNextId();; long advisoryBodyId = IdUtil.getSnowflakeNextId();
;
//如果是新增咨询机构,则需要新增记录到咨询机构表 //如果是新增咨询机构,则需要新增记录到咨询机构表
if (addAdvisoryBodyBo.getIsNewAdvisoryBody()) { if (addAdvisoryBodyBo.getIsNewAdvisoryBody()) {
AdvisoryBody newAdvisoryBody = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBody.class); AdvisoryBody newAdvisoryBody = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBody.class);
......
package com.dsk.search.service; package com.dsk.search.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
...@@ -16,6 +17,7 @@ import com.dsk.system.domain.SysUserFileRecord; ...@@ -16,6 +17,7 @@ import com.dsk.system.domain.SysUserFileRecord;
import com.dsk.system.domain.vo.AptitudeVo; import com.dsk.system.domain.vo.AptitudeVo;
import com.dsk.system.service.ISysUserFileRecordService; import com.dsk.system.service.ISysUserFileRecordService;
import com.dsk.system.utils.DskOpenApiUtil; import com.dsk.system.utils.DskOpenApiUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -34,6 +36,7 @@ import java.util.*; ...@@ -34,6 +36,7 @@ import java.util.*;
* @Date 2023/12/06 16:40 * @Date 2023/12/06 16:40
**/ **/
@Service @Service
@Slf4j
public class ExportService { public class ExportService {
@Autowired @Autowired
...@@ -47,7 +50,7 @@ public class ExportService { ...@@ -47,7 +50,7 @@ public class ExportService {
int exportCount = 1; int exportCount = 1;
if (RedisUtils.hasKey("aptitudeFileExportCount")){ if (RedisUtils.hasKey("aptitudeFileExportCount")){
exportCount = RedisUtils.getCacheObject("aptitudeFileExportCount"); exportCount = RedisUtils.getCacheObject("aptitudeFileExportCount");
if (exportCount>=3){ if (exportCount>=3000){
return AjaxResult.error("每天最多导出3次"); return AjaxResult.error("每天最多导出3次");
} }
} }
...@@ -55,11 +58,14 @@ public class ExportService { ...@@ -55,11 +58,14 @@ public class ExportService {
ComposeQueryDto composeQueryDto = new ComposeQueryDto(); ComposeQueryDto composeQueryDto = new ComposeQueryDto();
//识别Excel内容 //识别Excel内容
List<AptitudeVo> companyNameList = new ExcelUtils<>(AptitudeVo.class).importExcel(file.getInputStream(), 2); List<AptitudeVo> companyNameList = new ExcelUtils<>(AptitudeVo.class).importExcel(file.getInputStream(), 2);
if (companyNameList.isEmpty()) { if (CollectionUtil.isEmpty(companyNameList)) {
throw new ServiceException("表格中不存在待查询数据!"); throw new ServiceException("表格中不存在待查询数据!");
} }
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (int i = 0; i < companyNameList.size(); i++) { for (int i = 0; i < companyNameList.size(); i++) {
if (null==companyNameList.get(i)){
return AjaxResult.error("上传格式有误");
}
if (i<500){ if (i<500){
list.add(companyNameList.get(i).getCompanyName()); list.add(companyNameList.get(i).getCompanyName());
} }
...@@ -81,7 +87,7 @@ public class ExportService { ...@@ -81,7 +87,7 @@ public class ExportService {
composeQueryDto.setExportBackUrl(EXPORT_BACK_URL); composeQueryDto.setExportBackUrl(EXPORT_BACK_URL);
composeQueryDto.setExportExeclName(fileName); composeQueryDto.setExportExeclName(fileName);
dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false)); dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false));
RedisUtils.setCacheObject("aptitudeFileExportCount",exportCount); RedisUtils.setCacheObject("aptitudeFileExportCount",exportCount+1);
RedisUtils.expire("aptitudeFileExportCount", Duration.ofHours(24)); RedisUtils.expire("aptitudeFileExportCount", Duration.ofHours(24));
return AjaxResult.success(); return AjaxResult.success();
} }
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
<el-button type="primary" @click="handleConfirm">确定取消</el-button> <el-button type="primary" @click="handleConfirm">确定取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="qyVisible" custom-class='dialog-claim dialogAdd' title="添加监控企业" width="480px" :close-on-click-modal="false"> <el-dialog :visible.sync="qyVisible" custom-class='dialog-claim dialogAdd' title="添加监控企业" width="480px" :close-on-click-modal="false" @close="handleCancel1">
<div class="add-content"> <div class="add-content">
<div class="enterprise"> <div class="enterprise">
<div class="label">企业名称</div> <div class="label">企业名称</div>
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
<el-button type="primary" @click="handleAdd">确定</el-button> <el-button type="primary" @click="handleAdd">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="pldrVisible" custom-class='dialog-claim' title="批量导入监控企业" width="480px" :close-on-click-modal="false"> <el-dialog :visible.sync="pldrVisible" custom-class='dialog-claim' title="批量导入监控企业" width="480px" :close-on-click-modal="false" @close="handleUploadCancel1">
<div class="upload-content"> <div class="upload-content">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
...@@ -219,7 +219,6 @@ ...@@ -219,7 +219,6 @@
}, },
methods: { methods: {
async querySubmit() { async querySubmit() {
console.log(this.queryParams)
companyPage(this.queryParams).then(res => { companyPage(this.queryParams).then(res => {
console.log(res) console.log(res)
this.isSkeleton = false; this.isSkeleton = false;
...@@ -247,13 +246,18 @@ ...@@ -247,13 +246,18 @@
let data={ let data={
cid:this.cid cid:this.cid
} }
companyAdd(data).then(res => { if(this.cid.length > 0){
this.qyVisible=false; companyAdd(data).then(res => {
this.companyName='' this.qyVisible=false;
this.dataList=[] this.companyName=''
this.$message.success("新增成功"); this.dataList=[]
this.querySubmit() this.$message.success("新增成功");
}) this.querySubmit()
})
}else {
this.$message.warning("请选择要添加的企业");
}
}, },
radioBtn(val){ radioBtn(val){
...@@ -385,7 +389,12 @@ ...@@ -385,7 +389,12 @@
a.remove(); a.remove();
}, },
submitUpload() { submitUpload() {
this.$refs.upload.submit(); if(this.fileList.length > 0){
this.$refs.upload.submit();
}else {
this.$message.warning("请选择要上传的内容");
}
}, },
} }
} }
......
...@@ -447,26 +447,16 @@ ...@@ -447,26 +447,16 @@
this.querySubmit() this.querySubmit()
break; break;
case 2: case 2:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 3))
this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit()
break;
case 3:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 7)) this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 7))
this.queryParams.condition.endTime = this.formatDate(endTime) this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit() this.querySubmit()
break; break;
case 4: case 3:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 15))
this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit()
break;
case 5:
this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 30)) this.queryParams.condition.beginTime = this.formatDate(new Date(endTime.getTime() - 3600 * 1000 * 24 * 30))
this.queryParams.condition.endTime = this.formatDate(endTime) this.queryParams.condition.endTime = this.formatDate(endTime)
this.querySubmit() this.querySubmit()
break; break;
case 6: case 4:
this.date=[] this.date=[]
break; break;
default: default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment