diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyFileController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyFileController.java index a4a669744..30af790ce 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyFileController.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/CompanyFileController.java @@ -12,14 +12,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.FileCopyUtils; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; -import java.net.URLConnection; import java.util.Map; @@ -46,7 +43,8 @@ public class CompanyFileController { @ApiOperation(value = "分页查询企业的文件资料记录", notes = "分页查询企业的文件资料记录") @ApiImplicitParams({ @ApiImplicitParam(name = "fileName", value = "文件名称", paramType = "body", required = false, dataType = "String"), - @ApiImplicitParam(name = "companySn", value = "企业总部sn", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "companySn", value = "企业sn", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = false, dataType = "String"), @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"), }) @@ -55,6 +53,18 @@ public class CompanyFileController { return Result.success(companyFileService.selectCompanyFileList(map)); } + @ApiOperation(value = "分页查询自己企业的文件资料记录", notes = "分页查询自己企业的文件资料记录") + @ApiImplicitParams({ + @ApiImplicitParam(name = "fileName", value = "文件名称", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "companySn", value = "企业总部sn", paramType = "body", required = false, dataType = "String"), + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "body", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "body", required = true, dataType = "Integer"), + }) + @PostMapping("/my/list") + public Result> selectMyCompanyFileList(@RequestBody Map map) { + return Result.success(companyFileService.selectMyCompanyFileList(map)); + } + /** * 添加 * diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java index 4588d3007..596d12f66 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/CompanyMapper.java @@ -10,7 +10,6 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -64,4 +63,10 @@ public interface CompanyMapper extends BaseMapper { EntityMap getCompanyInfosByProjectSn(String projectSn); + Company getCompanyByUserId(Long userId); + + Company getParentCompanySn(Map map); + + Company getCompanyForProjectByProjectSn(String projectSn); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyFileMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyFileMapper.xml index 1b1ec217e..8635c7043 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyFileMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyFileMapper.xml @@ -10,19 +10,38 @@ - \ No newline at end of file + diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml index 062bc0ebb..5fe6fb3a5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/CompanyMapper.xml @@ -298,4 +298,19 @@ and a.project_sn=#{projectSn} + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyFileService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyFileService.java index 0ff229855..7ce14b08f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyFileService.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/ICompanyFileService.java @@ -15,6 +15,8 @@ public interface ICompanyFileService extends IService { Map selectCompanyFileList(Map map); + Map selectMyCompanyFileList(Map map); + void updateFileDownloadNum(Map map); void add(CompanyFile companyFile); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java index 16abac0e2..99d388e6a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyFileServiceImpl.java @@ -1,27 +1,25 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.lang.UUID; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.CompanyFile; import com.zhgd.xmgl.modules.basicdata.mapper.CompanyFileMapper; +import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper; import com.zhgd.xmgl.modules.basicdata.service.ICompanyFileService; +import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.File; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @Description: 企业文件资料 @@ -34,9 +32,52 @@ import java.util.Map; public class CompanyFileServiceImpl extends ServiceImpl implements ICompanyFileService { @Autowired private CompanyFileMapper companyFileMapper; + @Autowired + private CompanyMapper companyMapper; + @Autowired + private ICompanyService companyService; @Override public Map selectCompanyFileList(Map map) { + String companySn = MapUtils.getString(map, "companySn"); + String projectSn = MapUtils.getString(map, "projectSn"); + Map data = new HashMap<>(); + map.put("companySn", null); + int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString()); + int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString()); + Page page = new Page<>(pageNo, pageSize); + if (StrUtil.isNotBlank(projectSn)) { + Company c = companyMapper.getCompanyForProjectByProjectSn(projectSn); + if (c == null) { + throw new OpenAlertException("企业不存在"); + } + map.put("sn", c.getCompanySn()); + } else { + map.put("sn", companySn); + } + //查父级企业sn + Set inSnList = new HashSet<>(); + inSnList.add(companySn); + Company c1 = null; + do { + c1 = companyMapper.getParentCompanySn(map); + if (c1 != null) { + inSnList.add(c1.getCompanySn()); + map.put("sn", c1.getCompanySn()); + inSnList.add(c1.getHeadquartersSn()); + } + } while (c1 != null); + map.put("inSnList", inSnList); + List list = companyFileMapper.selectCompanyFileList(page, map); + page.setRecords(list); + Map result = companyFileMapper.getTotleFileGroup(map); + data.put("page", page); + data.put("totalNum", result); + return data; + } + + @Override + public Map selectMyCompanyFileList(Map map) { Map data = new HashMap<>(); int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString()); int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString()); diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java index 481f813dd..953b9c3a6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyServiceImpl.java @@ -29,6 +29,7 @@ import com.zhgd.xmgl.modules.basicdata.service.ICompanyService; import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.standard.mapper.StandardDevMapper; +import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.ListUtils; import com.zhgd.xmgl.util.MessageUtil; import com.zhgd.xmgl.util.PwUtil; diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index b39e031f2..b64de8b5e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -1309,6 +1309,8 @@ public class SystemUserServiceImpl extends ServiceImpl