Commit d2045fee authored by caixingbing's avatar caixingbing
parents 3d34a012 609878a7
...@@ -33,7 +33,7 @@ public class BusinessBacklogController extends BaseController ...@@ -33,7 +33,7 @@ public class BusinessBacklogController extends BaseController
*/ */
// @PreAuthorize("@ss.hasPermi('system:backlog:list')") // @PreAuthorize("@ss.hasPermi('system:backlog:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody(required=false) BusinessBacklog businessBacklog) public TableDataInfo list(BusinessBacklog businessBacklog)
{ {
startPage(); startPage();
List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog); List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog);
......
...@@ -28,7 +28,7 @@ public class BusinessContactsController extends BaseController ...@@ -28,7 +28,7 @@ public class BusinessContactsController extends BaseController
*/ */
// @PreAuthorize("@ss.hasPermi('system:contacts:list')") // @PreAuthorize("@ss.hasPermi('system:contacts:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody(required=false) BusinessContacts businessContacts) public TableDataInfo list(BusinessContacts businessContacts)
{ {
startPage(); startPage();
List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts); List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts);
......
...@@ -3,7 +3,9 @@ package com.dsk.web.controller.business; ...@@ -3,7 +3,9 @@ package com.dsk.web.controller.business;
import com.dsk.common.config.RuoYiConfig; import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessFileVo;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.file.FileUploadUtils; import com.dsk.common.utils.file.FileUploadUtils;
import com.dsk.common.utils.file.FileUtils; import com.dsk.common.utils.file.FileUtils;
import com.dsk.framework.config.ServerConfig; import com.dsk.framework.config.ServerConfig;
...@@ -16,6 +18,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -16,6 +18,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author lxl * @author lxl
...@@ -35,17 +38,17 @@ public class BusinessFileController extends BaseController { ...@@ -35,17 +38,17 @@ public class BusinessFileController extends BaseController {
*/ */
// @PreAuthorize("@ss.hasPermi('system:file:add')") // @PreAuthorize("@ss.hasPermi('system:file:add')")
// @Log(title = "项目资料文档", businessType = BusinessType.INSERT) // @Log(title = "项目资料文档", businessType = BusinessType.INSERT)
@GetMapping("/new/{filePath}") @PostMapping("/new")
public AjaxResult newFolder(@PathVariable String filePath) { public AjaxResult newFolder(@RequestBody(required=false) BusinessIdDto filePath) {
return FileUtils.newFolder(RuoYiConfig.getProfile() + filePath) ? AjaxResult.success() : AjaxResult.error(); return FileUtils.newFolder(filePath.getFilePath()) ? AjaxResult.success() : AjaxResult.error();
} }
/** /**
* 删除某个文件或整个文件夹 * 删除某个文件或整个文件夹
*/ */
@PostMapping("/remove") @PostMapping("/remove")
public AjaxResult removeFile(@RequestBody(required=false) BusinessIdDto folderPath) { public AjaxResult removeFile(@RequestBody(required=false) BusinessIdDto filePath) {
return FileUtils.delFolder(RuoYiConfig.getProfile() + folderPath.getFolderPath()) ? AjaxResult.success() : AjaxResult.error(); return FileUtils.delFolder(filePath.getFilePath()) ? AjaxResult.success() : AjaxResult.error();
} }
/** /**
...@@ -53,9 +56,16 @@ public class BusinessFileController extends BaseController { ...@@ -53,9 +56,16 @@ public class BusinessFileController extends BaseController {
* 获取文件夹中所有文件 * 获取文件夹中所有文件
*/ */
@GetMapping(value = "/list") @GetMapping(value = "/list")
public TableDataInfo getAllFiles(@RequestBody(required=false) BusinessIdDto folderPath) { public TableDataInfo getAllFiles(BusinessIdDto filePath) {
startPage(); startPage();
List<String> allFiles = FileUtils.getAllFiles(RuoYiConfig.getProfile() + folderPath.getFolderPath()); List<BusinessFileVo> allFiles;
if(StringUtils.isNumeric(filePath.getFilePath())) filePath.setFilePath(RuoYiConfig.getProfile() + filePath.getFilePath());
allFiles = FileUtils.getAllFiles(filePath.getFilePath());
//模糊查询文件
if(StringUtils.isNotEmpty(filePath.getKeyword())){
List<BusinessFileVo> allFileName = FileUtils.getAllFileNames(filePath.getFilePath());
allFiles = allFileName.stream().filter(p -> p.getFilePath().contains(filePath.getKeyword())).collect(Collectors.toList());
}
return getDataTable(allFiles); return getDataTable(allFiles);
} }
...@@ -76,20 +86,18 @@ public class BusinessFileController extends BaseController { ...@@ -76,20 +86,18 @@ public class BusinessFileController extends BaseController {
* @param request 请求头参数 * @param request 请求头参数
* @return * @return
*/ */
@PostMapping("/upload/") @PostMapping("/upload")
public AjaxResult uploadFolder(@RequestPart("file") MultipartFile file, HttpServletRequest request){ public AjaxResult uploadFolder(@RequestPart("file") MultipartFile file,HttpServletRequest request){
try { try {
String businessFileName = request.getParameter("filePath"); // String businessFileName = request.getHeader("FilePath");
String businessFileName = "10";
// 上传文件路径 // 上传文件路径
String filePath = RuoYiConfig.getUploadPath()+businessFileName; String filePath = RuoYiConfig.getUploadPath()+businessFileName+"/";
// 上传并返回新文件名称 // 上传并返回文件全路径
String fileName = FileUploadUtils.upload(filePath, file); String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName; String url = serverConfig.getUrl() + fileName;
AjaxResult ajax = AjaxResult.success(); AjaxResult ajax = AjaxResult.success();
ajax.put("url", url); ajax.put("url", url);
ajax.put("fileName", fileName);
ajax.put("newFileName", FileUtils.getName(fileName));
ajax.put("originalFilename", file.getOriginalFilename());
return ajax; return ajax;
} catch (IOException e) { } catch (IOException e) {
return AjaxResult.error(e.getMessage()); return AjaxResult.error(e.getMessage());
......
...@@ -5,6 +5,7 @@ import com.dsk.common.core.domain.AjaxResult; ...@@ -5,6 +5,7 @@ import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessFollowRecord; import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.BusinessIdDto; import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.service.IBusinessFollowRecordService; import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -24,16 +25,7 @@ public class BusinessFollowRecordController extends BaseController ...@@ -24,16 +25,7 @@ public class BusinessFollowRecordController extends BaseController
@Autowired @Autowired
private IBusinessFollowRecordService businessFollowRecordService; private IBusinessFollowRecordService businessFollowRecordService;
/**
* 根据项目id查询项目跟进记录
*/
// @PreAuthorize("@ss.hasPermi('system:record:list')")
// @GetMapping("/list/{businessId}")
// public TableDataInfo list(@PathVariable("businessId") Integer businessId)
// {
// startPage();
// return getDataTable(businessFollowRecordService.selectBusinessFollowRecordList(businessId));
// }
/** /**
* 新增项目跟进记录 * 新增项目跟进记录
...@@ -51,7 +43,7 @@ public class BusinessFollowRecordController extends BaseController ...@@ -51,7 +43,7 @@ public class BusinessFollowRecordController extends BaseController
*/ */
// @PreAuthorize("@ss.hasPermi('system:record:list')") // @PreAuthorize("@ss.hasPermi('system:record:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody(required=false) BusinessIdDto businessId) public TableDataInfo list(BusinessIdDto businessId)
{ {
startPage(); startPage();
List<BusinessFollowRecord> list = businessFollowRecordService.selectBusinessFollowRecordList(businessId); List<BusinessFollowRecord> list = businessFollowRecordService.selectBusinessFollowRecordList(businessId);
...@@ -69,6 +61,18 @@ public class BusinessFollowRecordController extends BaseController ...@@ -69,6 +61,18 @@ public class BusinessFollowRecordController extends BaseController
return toAjax(businessFollowRecordService.deleteBusinessFollowRecordByIds(ids)); return toAjax(businessFollowRecordService.deleteBusinessFollowRecordByIds(ids));
} }
/**
* 分页查询跟进动态
*/
// @PreAuthorize("@ss.hasPermi('system:record:list')")
@GetMapping("all/list")
public TableDataInfo allFollow(BusinessListDto dto)
{
startPage();
List<BusinessFollowRecord> list = businessFollowRecordService.allFollow(dto);
return getDataTable(list);
}
// /** // /**
// * 导出项目跟进记录列表 // * 导出项目跟进记录列表
// */ // */
...@@ -101,6 +105,17 @@ public class BusinessFollowRecordController extends BaseController ...@@ -101,6 +105,17 @@ public class BusinessFollowRecordController extends BaseController
// public AjaxResult edit(@RequestBody BusinessFollowRecord businessFollowRecord) // public AjaxResult edit(@RequestBody BusinessFollowRecord businessFollowRecord)
// { // {
// return toAjax(businessFollowRecordService.updateBusinessFollowRecord(businessFollowRecord)); // return toAjax(businessFollowRecordService.updateBusinessFollowRecord(businessFollowRecord));
// }
// /**
// * 根据项目id查询项目跟进记录
// */
// @PreAuthorize("@ss.hasPermi('system:record:list')")
// @GetMapping("/list/{businessId}")
// public TableDataInfo list(@PathVariable("businessId") Integer businessId)
// {
// startPage();
// return getDataTable(businessFollowRecordService.selectBusinessFollowRecordList(businessId));
// } // }
} }
...@@ -45,11 +45,11 @@ public class BusinessInfoController extends BaseController ...@@ -45,11 +45,11 @@ public class BusinessInfoController extends BaseController
} }
/** /**
* 查询项目列表 * 分页查询项目列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:business:list')") // @PreAuthorize("@ss.hasPermi('system:business:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody(required=false) BusinessListDto dto) public TableDataInfo list(BusinessListDto dto)
{ {
startPage(); startPage();
List<BusinessListVo> list = businessInfoService.selectBusinessInfoList(dto); List<BusinessListVo> list = businessInfoService.selectBusinessInfoList(dto);
......
...@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/** /**
* 项目关联单位Controller * 项目相关企业Controller
* *
* @author lxl * @author lxl
* @date 2023-05-17 * @date 2023-05-17
...@@ -25,7 +25,7 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -25,7 +25,7 @@ public class BusinessRelateCompanyController extends BaseController
private IBusinessRelateCompanyService businessRelateCompanyService; private IBusinessRelateCompanyService businessRelateCompanyService;
/** /**
* 查询关联单位角色 * 查询相关企业角色
*/ */
@PostMapping("/role/list") @PostMapping("/role/list")
public AjaxResult companyRoleList(@RequestBody BusinessIdDto dto){ public AjaxResult companyRoleList(@RequestBody BusinessIdDto dto){
...@@ -33,11 +33,11 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -33,11 +33,11 @@ public class BusinessRelateCompanyController extends BaseController
} }
/** /**
* 查询项目关联单位列表 * 查询项目相关企业列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:company:list')") // @PreAuthorize("@ss.hasPermi('system:company:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody(required=false) BusinessRelateCompany businessRelateCompany) public TableDataInfo list(BusinessRelateCompany businessRelateCompany)
{ {
startPage(); startPage();
List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany); List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany);
...@@ -66,6 +66,17 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -66,6 +66,17 @@ public class BusinessRelateCompanyController extends BaseController
return toAjax(businessRelateCompanyService.updateBusinessRelateCompany(businessRelateCompany)); return toAjax(businessRelateCompanyService.updateBusinessRelateCompany(businessRelateCompany));
} }
/**
* 删除项目关联单位
*/
// @PreAuthorize("@ss.hasPermi('system:company:remove')")
// @Log(title = "项目关联单位", businessType = BusinessType.DELETE)
@DeleteMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(businessRelateCompanyService.deleteBusinessRelateCompanyByIds(ids));
}
// /** // /**
// * 导出项目关联单位列表 // * 导出项目关联单位列表
// */ // */
...@@ -89,15 +100,4 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -89,15 +100,4 @@ public class BusinessRelateCompanyController extends BaseController
// return success(businessRelateCompanyService.selectBusinessRelateCompanyById(id)); // return success(businessRelateCompanyService.selectBusinessRelateCompanyById(id));
// } // }
//
// /**
// * 删除项目关联单位
// */
// @PreAuthorize("@ss.hasPermi('system:company:remove')")
// @Log(title = "项目关联单位", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(businessRelateCompanyService.deleteBusinessRelateCompanyByIds(ids));
// }
} }
package com.dsk.web.controller.search.controller; package com.dsk.web.controller.search.controller;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.dtos.ComposeQueryDto; import com.dsk.common.dtos.ComposeQueryDto;
import com.dsk.web.controller.search.service.MarketAnalysisService; import com.dsk.web.controller.search.service.MarketAnalysisService;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -9,6 +11,9 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -9,6 +11,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/** /**
...@@ -18,7 +23,7 @@ import javax.annotation.Resource; ...@@ -18,7 +23,7 @@ import javax.annotation.Resource;
*/ */
@RequestMapping("/marketAnalysis") @RequestMapping("/marketAnalysis")
@RestController @RestController
public class MarketAnalysisController { public class MarketAnalysisController extends BaseController {
@Resource @Resource
...@@ -46,9 +51,8 @@ public class MarketAnalysisController { ...@@ -46,9 +51,8 @@ public class MarketAnalysisController {
/* /*
* 资质等级按照大类、省份、等级类型分组 * 资质等级按照大类、省份、等级类型分组
*/ */
@RequestMapping("/certGroupByCategoryProvinceLevel") @RequestMapping("/certGroupByMajorProvinceLevel")
public AjaxResult certGroupByCategoryProvinceLevel() { public AjaxResult certGroupByMajorProvinceLevel() {
return marketAnalysisService.certGroupByMajorProvinceLevel(); return marketAnalysisService.certGroupByMajorProvinceLevel();
} }
...@@ -86,11 +90,23 @@ public class MarketAnalysisController { ...@@ -86,11 +90,23 @@ public class MarketAnalysisController {
return marketAnalysisService.countGroupByProvince(object); return marketAnalysisService.countGroupByProvince(object);
} }
@RequestMapping("/getYear")
public TableDataInfo getYear(){
List<Integer> list = new ArrayList<>();
Calendar calendar = Calendar.getInstance();
int nowYear = calendar.get(Calendar.YEAR);
list.add(nowYear);
for (int i = 1; i < 5; i++) {
list.add(nowYear-i);
}
return getDataTable(list);
}
/* /*
* 中标数量按月份分组 * 中标数量按月份分组
*/ */
@RequestMapping("/countGroupByMonth") @RequestMapping("/countGroupByMonth")
public AjaxResult countGroupByMonth() { public AjaxResult countGroupByMonth(@RequestBody JSONObject object) {
return marketAnalysisService.countGroupByMonth(); return marketAnalysisService.countGroupByMonth(object);
} }
} }
...@@ -19,7 +19,7 @@ public interface MarketAnalysisService { ...@@ -19,7 +19,7 @@ public interface MarketAnalysisService {
AjaxResult countGroupByProvince(JSONObject object); AjaxResult countGroupByProvince(JSONObject object);
AjaxResult countGroupByMonth(); AjaxResult countGroupByMonth(JSONObject object);
AjaxResult bidMoneyGroupByProjectType(JSONObject object); AjaxResult bidMoneyGroupByProjectType(JSONObject object);
......
...@@ -62,8 +62,8 @@ public class MarketAnalysisServiceImpl implements MarketAnalysisService { ...@@ -62,8 +62,8 @@ public class MarketAnalysisServiceImpl implements MarketAnalysisService {
} }
@Override @Override
public AjaxResult countGroupByMonth() { public AjaxResult countGroupByMonth(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByMonth", null); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByMonth", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
} }
...@@ -130,6 +130,6 @@ public class RuoYiConfig ...@@ -130,6 +130,6 @@ public class RuoYiConfig
*/ */
public static String getUploadPath() public static String getUploadPath()
{ {
return getProfile() + "/upload"; return getProfile();
} }
} }
package com.dsk.common.core.domain.entity; package com.dsk.common.core.domain.entity;
import java.util.Date; import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/** /**
* 项目跟进记录对象 business_follow_record * 项目跟进记录对象 business_follow_record
* *
...@@ -18,6 +18,16 @@ public class BusinessFollowRecord extends BaseEntity ...@@ -18,6 +18,16 @@ public class BusinessFollowRecord extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 项目名称
*/
private String projectName;
/**
* 业主单位
*/
private String ownerCompany;
/** $column.columnComment */ /** $column.columnComment */
private Integer id; private Integer id;
...@@ -64,6 +74,22 @@ public class BusinessFollowRecord extends BaseEntity ...@@ -64,6 +74,22 @@ public class BusinessFollowRecord extends BaseEntity
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date creatTime; private Date creatTime;
public String getProjectName() {
return projectName;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
}
public String getOwnerCompany() {
return ownerCompany;
}
public void setOwnerCompany(String ownerCompany) {
this.ownerCompany = ownerCompany;
}
public String getNickName() { public String getNickName() {
return nickName; return nickName;
} }
...@@ -177,6 +203,8 @@ public class BusinessFollowRecord extends BaseEntity ...@@ -177,6 +203,8 @@ public class BusinessFollowRecord extends BaseEntity
.append("visitWay", getVisitWay()) .append("visitWay", getVisitWay())
.append("creatTime", getCreatTime()) .append("creatTime", getCreatTime())
.append("updateTime", getUpdateTime()) .append("updateTime", getUpdateTime())
.append("projectName", getProjectName())
.append("ownerCompany(", getOwnerCompany())
.toString(); .toString();
} }
} }
...@@ -32,5 +32,15 @@ public class EnterpriseCreditLawsuitsPageBody extends BasePage { ...@@ -32,5 +32,15 @@ public class EnterpriseCreditLawsuitsPageBody extends BasePage {
*/ */
private String keys; private String keys;
/**
* 开始时间(年月日)
*/
private String dateFrom;
/**
* 截止时间(年月日)
*/
private String dateTo;
} }
...@@ -27,7 +27,7 @@ public class EnterpriseProjectBidNoticePageBody extends BasePage { ...@@ -27,7 +27,7 @@ public class EnterpriseProjectBidNoticePageBody extends BasePage {
/** /**
* 类型 * 类型
*/ */
private String tenderStage; private List<String> tenderStage;
/* /*
* 1金额倒序,2金额正序,3时间倒序,4时间正序 * 1金额倒序,2金额正序,3时间倒序,4时间正序
......
package com.dsk.common.utils.file; package com.dsk.common.utils.file;
import java.io.File; import com.dsk.common.config.RuoYiConfig;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Objects;
import com.dsk.common.constant.Constants; import com.dsk.common.constant.Constants;
import com.dsk.common.exception.file.FileNameLengthLimitExceededException; import com.dsk.common.exception.file.FileNameLengthLimitExceededException;
import com.dsk.common.exception.file.FileSizeLimitExceededException; import com.dsk.common.exception.file.FileSizeLimitExceededException;
import com.dsk.common.exception.file.InvalidExtensionException; import com.dsk.common.exception.file.InvalidExtensionException;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.uuid.Seq;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.utils.uuid.Seq; import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Objects;
/** /**
* 文件上传工具类 * 文件上传工具类
...@@ -111,11 +111,13 @@ public class FileUploadUtils ...@@ -111,11 +111,13 @@ public class FileUploadUtils
assertAllowed(file, allowedExtension); assertAllowed(file, allowedExtension);
String fileName = extractFilename(file); // String fileName = extractFilename(file);
String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath(); // String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();
String absPath = getAbsoluteFile(baseDir, file.getOriginalFilename()).getAbsolutePath();
file.transferTo(Paths.get(absPath)); file.transferTo(Paths.get(absPath));
return getPathFileName(baseDir, fileName); // return getPathFileName(baseDir, fileName);
return baseDir+file.getOriginalFilename();
} }
/** /**
......
package com.dsk.common.utils.file; package com.dsk.common.utils.file;
import com.dsk.common.config.RuoYiConfig; import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.core.domain.entity.BusinessFileVo;
import com.dsk.common.exception.base.BaseException; import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
...@@ -25,6 +26,7 @@ import java.net.HttpURLConnection; ...@@ -25,6 +26,7 @@ import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
...@@ -40,11 +42,6 @@ public class FileUtils ...@@ -40,11 +42,6 @@ public class FileUtils
{ {
public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+";
public static void main(String[] args) {
System.out.println(RuoYiConfig.getProfile());
}
/** /**
* 检查目录是否存在,如果不存在,则创建目录,如果创建失败则返回false * 检查目录是否存在,如果不存在,则创建目录,如果创建失败则返回false
* *
...@@ -251,8 +248,8 @@ public class FileUtils ...@@ -251,8 +248,8 @@ public class FileUtils
* @param filePath 全路径 * @param filePath 全路径
* @return * @return
*/ */
public static List<String> getAllFiles(String filePath) { public static List<BusinessFileVo> getAllFiles(String filePath) {
List<String> fileList = new ArrayList<String>(); List<BusinessFileVo> fileList = new ArrayList<>();
File file = new File(filePath); File file = new File(filePath);
if (!file.exists()) { if (!file.exists()) {
...@@ -269,11 +266,11 @@ public class FileUtils ...@@ -269,11 +266,11 @@ public class FileUtils
for (File directory : files) { for (File directory : files) {
// 如果是文件夹则递归调用此方法 // 如果是文件夹则递归调用此方法
if (directory.isDirectory()) { if (directory.isDirectory()) {
fileList.add(directory.getPath()); fileList.add(new BusinessFileVo(directory.getPath(),new SimpleDateFormat("yyyy-MM-dd").format(directory.lastModified())));
getAllFiles(directory.getPath()); getAllFiles(directory.getPath());
} else { } else {
// 如果是文件则直接输出路径 // 如果是文件则直接输出路径
fileList.add(directory.getPath()); fileList.add(new BusinessFileVo(directory.getPath(),new SimpleDateFormat("yyyy-MM-dd").format(directory.lastModified())));
} }
} }
return fileList; return fileList;
...@@ -287,8 +284,8 @@ public class FileUtils ...@@ -287,8 +284,8 @@ public class FileUtils
* @param path 文件夹路径 * @param path 文件夹路径
* @return List<File> * @return List<File>
*/ */
public static List<File> getAllFileNames(String path) { public static List<BusinessFileVo> getAllFileNames(String path) {
List<File> fileList = new ArrayList<File>(); List<BusinessFileVo> fileList = new ArrayList<>();
File file = new File(path); File file = new File(path);
if (!file.exists()) { if (!file.exists()) {
return fileList; return fileList;
...@@ -305,10 +302,10 @@ public class FileUtils ...@@ -305,10 +302,10 @@ public class FileUtils
tempFile = new File(path + File.separator + fileName); tempFile = new File(path + File.separator + fileName);
} }
if (tempFile.isFile()) { if (tempFile.isFile()) {
fileList.add(tempFile); fileList.add(new BusinessFileVo(tempFile.getPath(),new SimpleDateFormat("yyyy-MM-dd").format(tempFile.lastModified())));
} }
if (tempFile.isDirectory()) { if (tempFile.isDirectory()) {
List<File> allFiles = getAllFileNames(tempFile.getAbsolutePath()); List<BusinessFileVo> allFiles = getAllFileNames(tempFile.getAbsolutePath());
fileList.addAll(allFiles); fileList.addAll(allFiles);
} }
} }
......
...@@ -64,7 +64,7 @@ public class SysLoginService ...@@ -64,7 +64,7 @@ public class SysLoginService
public String login(String username, String password, String code, String uuid) public String login(String username, String password, String code, String uuid)
{ {
// 验证码校验 // 验证码校验
// validateCaptcha(username, code, uuid); validateCaptcha(username, code, uuid);
// 登录前置校验 // 登录前置校验
loginPreCheck(username, password); loginPreCheck(username, password);
// 用户验证 // 用户验证
......
import request from '@/utils/request'
// 资质json数据
let aptitudeCode= function aptitudeCode(param) {
return request({
url: 'https://files.jiansheku.com/file/json/common/aptitudeCode.json',
method: 'get',
})
}
// 人员json数据
let personCert= function personCert(param) {
return request({
url: 'https://files.jiansheku.com/file/json/common/personCert.json',
method: 'get',
})
}
// 备案网站
let searchDic= function searchDic(param) {
return request({
url: 'https://files.jiansheku.com/file/json/common/searchDic.json',
method: 'get',
})
}
// 备案网站
let regionWebList= function regionWebList(param) {
return request({
url: '/nationzj/enterprice/regionWebList',
method: 'get',
})
}
export default {aptitudeCode,personCert,searchDic,regionWebList}
\ No newline at end of file
import request from '@/utils/request'
//全国经济大全列表
export function nationalPage(param) {
return request({
url: '/economic/national/nationalPage',
method: 'POST',
data: param
})
}
//全国经济大全详情
export function getNationalDetails(param) {
return request({
url: '/economic/details',
method: 'POST',
data: param
})
}
//获取年份-下拉
export function getYears(param) {
return request({
url: '/economic/years/list',
method: 'POST',
data: param
})
}
//全国按月招标统计
export function countGroupByMonth(param) {
return request({
url: '/marketAnalysis/countGroupByMonth',
method: 'POST',
data: param
})
}
//按属地统计招标数量
export function countGroupByProvince(param) {
return request({
url: '/marketAnalysis/countGroupByProvince',
method: 'POST',
data: param
})
}
//获取年份-下拉
export function getYear() {
return request({
url: '/marketAnalysis/getYear',
method: 'POST',
})
}
//全国建筑企业概览-资质等级按照行业、等级类型分组
export function certGroupByMajorAndLevel() {
return request({
url: '/marketAnalysis/certGroupByMajorAndLevel',
method: 'POST',
})
}
//全国建筑企业地区分布-资质等级按照行业、省份、等级类型分组
export function certGroupByMajorProvinceLevel() {
return request({
url: '/marketAnalysis/certGroupByMajorProvinceLevel',
method: 'POST',
})
}
//全国建筑企业备案分布-各省份备案企业统计
export function areaGroupByProvince() {
return request({
url: '/marketAnalysis/areaGroupByProvince',
method: 'POST',
})
}
//区域经济
//地区经济-统计
export function regional(param) {
return request({
url: '/economic/statistics/regional',
method: 'POST',
data: param
})
}
//地区经济-主要指标列表
export function regionalList(param) {
return request({
url: '/economic/regional/list',
method: 'POST',
data: param
})
}
...@@ -158,3 +158,28 @@ export function addXGQY(param) { ...@@ -158,3 +158,28 @@ export function addXGQY(param) {
data:param data:param
}) })
} }
//删除相关企业
export function delXGQY(param) {
return request({
url: '/business/company/remove/'+param,
method: 'DELETE',
})
}
//查询资料文档
export function getZLWD(param) {
return request({
url: '/business/file/list',
method: 'GET',
params:param
})
}
//删除资料文档
export function delZLWD(param) {
return request({
url: '/business/file/remove',
method: 'POST',
data:param
})
}
import request from '@/utils/request'
// 导入客户列表
let importData= function importData(param) {
return request({
url: '/customer/importData',
method: 'POST',
data: param
})
}
export default {importData}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -656,6 +656,7 @@ ...@@ -656,6 +656,7 @@
background: #F6F9FD; background: #F6F9FD;
border-radius: 6px; border-radius: 6px;
padding: 24px; padding: 24px;
border: 1px solid #F6F9FD;
//box-sizing: content-box; //box-sizing: content-box;
box-sizing: border-box; box-sizing: border-box;
>div{ >div{
...@@ -676,7 +677,6 @@ ...@@ -676,7 +677,6 @@
} }
} }
.rec_detail:hover{ .rec_detail:hover{
.operate{ .operate{
display: block; display: block;
......
This diff is collapsed.
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
left: 0; left: 0;
z-index: 1001; z-index: 1001;
// overflow: hidden; // overflow: hidden;
-webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35); // -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
box-shadow: 2px 0 6px rgba(0,21,41,.35); // box-shadow: 2px 0 6px rgba(0,21,41,.35);
//展开、收起箭头 //展开、收起箭头
.side-expand{ .side-expand{
position: absolute; position: absolute;
......
...@@ -42,7 +42,7 @@ export default { ...@@ -42,7 +42,7 @@ export default {
.hasTagsView { .hasTagsView {
.app-main { .app-main {
/* 84 = navbar + tags-view = 50 + 34 */ /* 84 = navbar + tags-view = 50 + 34 */
min-height: calc(100vh - 84px); min-height: calc(100vh - 56px);
background: #F5F5F5; background: #F5F5F5;
} }
......
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="bottems" v-if="tableData.total>0"> <div class="bottems" v-if="tableData.total>searchParam.pageSize">
<el-pagination <el-pagination
background background
:page-size="searchParam.pageSize" :page-size="searchParam.pageSize"
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
<div class="trendcon">{{item.text}}</div> <div class="trendcon">{{item.text}}</div>
<div class="time">{{item.time}}</div> <div class="time">{{item.time}}</div>
</div> </div>
<div class="tables" style="width: 100%"> <div class="tables" style="width: 100%" v-if="datalist.length>10">
<div class="bottems"> <div class="bottems">
<el-pagination <el-pagination
background background
...@@ -236,7 +236,7 @@ export default { ...@@ -236,7 +236,7 @@ export default {
{ {
name: '', name: '',
type: 'bar', type: 'bar',
barWidth: '20%', barWidth: '12px',
data: [100, 152, 200, 334, 390, 330, 220,256,178], data: [100, 152, 200, 334, 390, 330, 220,256,178],
itemStyle:{ itemStyle:{
normal: { normal: {
...@@ -280,7 +280,7 @@ export default { ...@@ -280,7 +280,7 @@ export default {
{ {
name: '', name: '',
type: 'bar', type: 'bar',
barWidth: '20%', barWidth: '12px',
data: [110, 112, 190, 234, 310, 350, 220,276,198], data: [110, 112, 190, 234, 310, 350, 220,276,198],
itemStyle:{ itemStyle:{
normal:{ normal:{
...@@ -551,6 +551,12 @@ export default { ...@@ -551,6 +551,12 @@ export default {
line-height: 18px; line-height: 18px;
padding-bottom: 16px; padding-bottom: 16px;
} }
&:last-child{
.trendcon{
border: none;
}
}
.time{ .time{
position: absolute; position: absolute;
right: 16px; right: 16px;
......
...@@ -865,7 +865,7 @@ export default { ...@@ -865,7 +865,7 @@ export default {
type: 'value', type: 'value',
}, },
grid: { grid: {
left: '16%', left: '20%',
top: 20, top: 20,
right: 20, right: 20,
bottom: 60, bottom: 60,
...@@ -972,6 +972,7 @@ export default { ...@@ -972,6 +972,7 @@ export default {
.title{ .title{
font-size: 12px; font-size: 12px;
color: #3D3D3D; color: #3D3D3D;
border-bottom: 0;
} }
.number{ .number{
font-weight: bold; font-weight: bold;
...@@ -1473,6 +1474,7 @@ export default { ...@@ -1473,6 +1474,7 @@ export default {
.item{ .item{
border-bottom: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE;
padding: 10px 0; padding: 10px 0;
cursor: pointer;
h3{ h3{
font-weight: 400; font-weight: 400;
color: rgba(35,35,35,0.8); color: rgba(35,35,35,0.8);
...@@ -1494,6 +1496,11 @@ export default { ...@@ -1494,6 +1496,11 @@ export default {
} }
} }
} }
.item:hover{
h3{
color:#0081FF;
}
}
.item:last-child{ .item:last-child{
border-bottom: 0; border-bottom: 0;
} }
...@@ -1509,6 +1516,7 @@ export default { ...@@ -1509,6 +1516,7 @@ export default {
.item{ .item{
border-bottom: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE;
padding: 10px 0; padding: 10px 0;
cursor: pointer;
h3{ h3{
font-weight: 400; font-weight: 400;
color: rgba(35,35,35,0.8); color: rgba(35,35,35,0.8);
...@@ -1530,6 +1538,11 @@ export default { ...@@ -1530,6 +1538,11 @@ export default {
} }
} }
} }
.item:hover{
h3{
color:#0081FF;
}
}
.item:last-child{ .item:last-child{
border-bottom: 0; border-bottom: 0;
} }
......
...@@ -159,13 +159,13 @@ export default { ...@@ -159,13 +159,13 @@ export default {
<style rel="stylesheet/scss" lang="scss"> <style rel="stylesheet/scss" lang="scss">
.login { .login {
/*display: flex;*/
justify-content: center;
align-items: center; align-items: center;
height: 100%; height: 100%;
background-image: url("../assets/images/login_bg.png"); background-image: url("../assets/images/login_bg.png");
background-size: cover; background-size: cover;
overflow-y: hidden; overflow-y: hidden;
display: flex;
justify-content: center;
.content{ .content{
width: 1320px; width: 1320px;
margin: 0 auto; margin: 0 auto;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year"> <el-form-item prop="year">
<el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度"> <el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度">
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.name" :value="item.value" /> <el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -48,19 +48,19 @@ ...@@ -48,19 +48,19 @@
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { nationalPage,getYears } from '@/api/macro/macro'
export default { export default {
name: 'industrialStructure', name: 'industrialStructure',
props:{
dataQuery:{}
},
data() { data() {
return { return {
queryParams: { queryParams: {
year: '', year: '',
address: '' address: ''
}, },
yearOptions: [ yearOptions: [],
{ name: '2023年', value: '2023' },
{ name: '2022年', value: '2022' },
{ name: '2021年', value: '2021' },
],
tableData:[ tableData:[
{ {
type:'房建工程', type:'房建工程',
...@@ -104,6 +104,10 @@ export default { ...@@ -104,6 +104,10 @@ export default {
} }
}, },
created() { created() {
getYears({}).then(res => {
this.yearOptions=res.data.reverse();
this.queryParams.year = this.yearOptions[0].year;
})
this.$nextTick(()=>{ this.$nextTick(()=>{
this.initChart() this.initChart()
}) })
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="投资估算:" class="row"> <el-form-item label="投资估算(万元):" class="row">
<el-input type="text" placeholder="请输入金额" @input="number" v-model="queryParam.investmentAmount"></el-input> <el-input type="text" placeholder="请输入金额" @input="number" v-model="queryParam.investmentAmount"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="可见范围:" class="row"> <el-form-item label="可见范围:" class="row">
......
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