Commit 76003b2f authored by danfuman's avatar danfuman

Merge branch 'V20230915' of http://192.168.60.201/root/dsk-operate-sys into V20230915

parents 3d6b1ede 82a2b489
......@@ -2,17 +2,25 @@ package com.dsk.biz.controller;
import com.dsk.biz.domain.BusinessOpenTender;
import com.dsk.biz.domain.bo.BusinessOpenTenderDto;
import com.dsk.biz.domain.bo.BusinessSearchDto;
import com.dsk.biz.service.IBusinessOpenTenderService;
import com.dsk.biz.utils.ExcelUtils;
import com.dsk.common.annotation.Log;
import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.exception.BusinessException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 项目开标记录
......@@ -31,7 +39,7 @@ public class BusinessOpenTenderController extends BaseController {
* 开标记录列表
*/
@GetMapping("/list")
public TableDataInfo<BusinessOpenTender> list(BusinessOpenTenderDto dto, PageQuery pageQuery){
public TableDataInfo<BusinessOpenTender> list(BusinessOpenTenderDto dto, PageQuery pageQuery) {
return baseService.selectList(dto, pageQuery);
}
......@@ -39,8 +47,8 @@ public class BusinessOpenTenderController extends BaseController {
* 添加开标记录
*/
@PostMapping
@RepeatSubmit()
public R<Void> add(@RequestBody BusinessOpenTender bo){
@RepeatSubmit
public R<Void> add(@RequestBody BusinessOpenTender bo) {
return toAjax(baseService.add(bo));
}
......@@ -48,8 +56,8 @@ public class BusinessOpenTenderController extends BaseController {
* 修改开标记录
*/
@PutMapping
@RepeatSubmit()
public R<Void> edit(@RequestBody BusinessOpenTender bo){
@RepeatSubmit
public R<Void> edit(@RequestBody BusinessOpenTender bo) {
return toAjax(baseService.edit(bo));
}
......@@ -57,9 +65,41 @@ public class BusinessOpenTenderController extends BaseController {
* 删除开标记录
*/
@DeleteMapping("/{ids}")
@RepeatSubmit()
public R<Void> remove(@PathVariable Long[] ids){
@RepeatSubmit
public R<Void> remove(@PathVariable Long[] ids) {
return toAjax(baseService.remove(ids));
}
/**
* 批量导入
*/
@Log(title = "开标记录批量导入", businessType = BusinessType.IMPORT)
@PostMapping("/importData/{businessId}")
public R<Map<String, Object>> importData(@RequestPart("file") MultipartFile file, @PathVariable Integer businessId) throws Exception {
List<BusinessOpenTender> list = new ExcelUtils<>(BusinessOpenTender.class).importExcel(file.getInputStream(), 1);
if (list.isEmpty()) throw new BusinessException("请填写导入数据!");
int sucessCount = 0;
List<String> errorList = new ArrayList<>();
for (BusinessOpenTender openTender : list) {
if (ObjectUtils.isEmpty(openTender.getTenderer())) {
errorList.add("投标人不能为空!");
continue;
}
openTender.setBusinessId(businessId);
try {
int add = baseService.add(openTender);
if (add > 0) {
sucessCount++;
}
} catch (Exception e) {
errorList.add(openTender.getTenderer().concat(":").concat(e.getMessage()));
}
}
Map<String, Object> result = new HashMap<>();
result.put("sucessCount", sucessCount);
result.put("errorCount", list.size() - sucessCount);
result.put("errorMsg", errorList);
return R.ok(result);
}
}
package com.dsk.biz.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
......@@ -14,7 +16,7 @@ import java.util.Date;
@Data
public class BusinessOpenTender implements Serializable {
@TableId(value = "id",type = IdType.AUTO)
@TableId(value = "id",type = IdType.ASSIGN_ID)
private Long id;
/**
* 项目id
......@@ -27,22 +29,27 @@ public class BusinessOpenTender implements Serializable {
/**
* 投标人
*/
@Excel(name = "投标人")
private String tenderer;
/**
* 企业性质
*/
@Excel(name = "企业性质")
private String tendererNature;
/**
* 项目经理
*/
@Excel(name = "项目经理")
private String businessManager;
/**
* 联系方式
*/
@Excel(name = "联系方式")
private String contact;
/**
* 投标金额
*/
@Excel(name = "投标金额(万元)")
private Double tenderAmount;
private Date createTime;
......
package com.dsk.biz.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.BusinessOpenTender;
import com.dsk.biz.domain.bo.BusinessOpenTenderDto;
import com.dsk.biz.domain.bo.BusinessSearchDto;
import com.dsk.biz.mapper.BusinessOpenTenderMapper;
import com.dsk.biz.service.IBusinessOpenTenderService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException;
import jodd.bean.BeanException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.sql.Wrapper;
import java.util.Arrays;
import java.util.List;
/**
* @Author lcl
......@@ -40,6 +37,10 @@ public class BusinessOpenTenderServiceImpl implements IBusinessOpenTenderService
@Override
public int add(BusinessOpenTender bo) {
verifyBean(bo);
BusinessOpenTender openTender = baseMapper.selectOne(Wrappers.<BusinessOpenTender>lambdaQuery()
.eq(BusinessOpenTender::getTenderer, bo.getTenderer())
.eq(BusinessOpenTender::getBusinessId,bo.getBusinessId()));
if(!ObjectUtils.isEmpty(openTender)) throw new ServiceException("当前投标人已存在");
return baseMapper.insert(bo);
}
......@@ -47,6 +48,10 @@ public class BusinessOpenTenderServiceImpl implements IBusinessOpenTenderService
public int edit(BusinessOpenTender bo) {
if(ObjectUtils.isArray(bo.getId())) throw new BeanException("id不能为空!");
verifyBean(bo);
BusinessOpenTender openTender = baseMapper.selectOne(Wrappers.<BusinessOpenTender>lambdaQuery()
.eq(BusinessOpenTender::getTenderer, bo.getTenderer())
.eq(BusinessOpenTender::getBusinessId,bo.getBusinessId()));
if(!ObjectUtils.isEmpty(openTender) && !openTender.getId().equals(bo.getId())) throw new ServiceException("当前投标人已存在");
return baseMapper.updateById(bo);
}
......
......@@ -446,9 +446,12 @@
</div>
<div class="info-list-right">
<p class="card-right-title">
<router-link :to="toEnterpriseDetail(item.jskEid)">
<span @click="toEnterpriseDetail(item.jskEid,item.name)">
<span class="title" v-html="item.name"> </span>
</router-link>
</span>
<!-- <router-link :to="toEnterpriseDetail(item.jskEid,item.name)">
<span class="title" v-html="item.name"> </span>
</router-link> -->
</p>
<p class="card-right-title card-right-title1" :ref="'labels'+item.id" :style="{padding: '16px 0px 12px 0px'}">
......@@ -485,51 +488,75 @@
<p class="card-right-title" style="padding-top: 8px ;">
<template v-if="item.aptitudeCountNew!=null">
<span class="right-title-grey">资质资格:</span>
<router-link :to="toEnterprise(item.jskEid,'')" target="_blank">
<span @click="toEnterprise(item.jskEid,'','',item.name)">
<span class="right-title-blue" v-html="item.aptitudeCountNew"> </span>
</router-link>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'','',item.name)" >
<span class="right-title-blue" v-html="item.aptitudeCountNew"> </span>
</router-link> -->
</template>
<template v-if="item.recentlyCount!=null">
<span class="right-title-grey">中标业绩:</span>
<router-link :to="toEnterprise(item.jskEid,'performance')" target="_blank">
<span @click="toEnterprise(item.jskEid,'performance','',item.name)">
<span class="right-title-blue" v-html="item.recentlyCount"> </span>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'performance')" >
<span class="right-title-blue" v-html="item.recentlyCount"> </span>
</router-link>
</router-link> -->
</template>
<template v-if="item.skyCount!=null">
<span class="right-title-grey">四库业绩:</span>
<router-link :to="toEnterprise(item.jskEid,'performance',2)" target="_blank">
<span @click="toEnterprise(item.jskEid,'performance',2,item.name)">
<span class="right-title-blue" v-html="item.skyCount"> </span>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'performance',2)" >
<span class="right-title-blue" v-html="item.skyCount"> </span>
</router-link>
</router-link> -->
</template>
<template v-if="item.registeredPersonnelCount!=null">
<span class="right-title-grey">注册人员:</span>
<router-link :to="toEnterprise(item.jskEid,'personnel',2)" target="_blank">
<span @click="toEnterprise(item.jskEid,'personnel',2,item.name)">
<span class="right-title-blue" v-html="item.registeredPersonnelCount"> </span>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'personnel',2)" >
<span class="right-title-blue" v-html="item.registeredPersonnelCount"> </span>
</router-link>
</router-link> -->
</template>
<template v-if="item.threePersonnelCount!=null">
<span class="right-title-grey">三类人员:</span>
<router-link :to="toEnterprise(item.jskEid,'personnel',5)" target="_blank">
<span @click="toEnterprise(item.jskEid,'personnel',5,item.name)">
<span class="right-title-blue" v-html="item.threePersonnelCount"> </span>
</router-link>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'personnel',5)" >
<span class="right-title-blue" v-html="item.threePersonnelCount"> </span>
</router-link> -->
</template>
<template v-if="item.jskBidCount>0">
<span class="right-title-grey">招标公告:</span>
<router-link :to="toEnterprise(item.jskEid,'business',5)" target="_blank">
<span @click="toEnterprise(item.jskEid,'business',5,item.name)">
<span class="right-title-blue" v-html="item.jskBidCount"> </span>
</router-link>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'business',5)" >
<span class="right-title-blue" v-html="item.jskBidCount"> </span>
</router-link> -->
</template>
<template v-if="item.customerCount>0">
<span class="right-title-grey">客户:</span>
<router-link :to="toEnterprise(item.jskEid,'business',1)" target="_blank">
<span @click="toEnterprise(item.jskEid,'business',1,item.name)">
<span class="right-title-blue" v-html="item.customerCount"> </span>
</router-link>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'business',1)" >
<span class="right-title-blue" v-html="item.customerCount"> </span>
</router-link> -->
</template>
<template v-if="item.supplierCount>0">
<span class="right-title-grey">供应商:</span>
<router-link :to="toEnterprise(item.jskEid,'business',2)" target="_blank">
<span @click="toEnterprise(item.jskEid,'business',2,item.name)">
<span class="right-title-blue" v-html="item.supplierCount"> </span>
</span>
<!-- <router-link :to="toEnterprise(item.jskEid,'business',2)" >
<span class="right-title-blue" v-html="item.supplierCount"> </span>
</router-link>
</router-link> -->
</template>
</p>
<p class="card-right-title" v-if="item.formerName!=null&&(item.formerName.indexOf('color')!=-1||item.name.indexOf('color')!=-1)"
......@@ -2748,12 +2775,13 @@ export default {
},
toEnterprise(id, html, type) {
return '/company/' + encodeStr(id) + '/' + (html ? '?html=' + html : '') + (type ? '&flag=true&type=' + type : '');
toEnterprise(id, html, type,name) {
// this.$tab.openPage(name, '/company/' + encodeStr(id) + '/' + (html ? '?html=' + html : '') + (type ? '&flag=true&type=' + type : ''))
this.$router.push({path:'/company/' + encodeStr(id) + '/' + (html ? html : '') + (type ? '?flag=true&type=' + type : '')} )
},
toEnterpriseDetail(id) {
return '/company/' + encodeStr(id) + '/?index=true';
toEnterpriseDetail(id,name) {
// this.$tab.openPage(name, '/company/' + encodeStr(id) + '/?index=true')
this.$router.push({path:'/company/' + encodeStr(id) + '/?index=true'} )
},
labelsWidth(e, t = 0) {
......
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