包头bug修改
This commit is contained in:
parent
fbc32c5693
commit
55b80d5c31
@ -60,10 +60,7 @@ import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
|
|||||||
import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerAttendanceMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerAttendanceMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.service.ITeamInfoService;
|
import com.zhgd.xmgl.modules.worker.service.*;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IUfaceDevService;
|
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService;
|
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
|
||||||
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
|
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
|
||||||
import com.zhgd.xmgl.modules.worker.service.impl.WorkerAttendanceServiceImpl;
|
import com.zhgd.xmgl.modules.worker.service.impl.WorkerAttendanceServiceImpl;
|
||||||
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionSync;
|
import com.zhgd.xmgl.modules.xz.entity.XzHikvisionSync;
|
||||||
@ -248,6 +245,9 @@ public class HikvisionCall {
|
|||||||
@Lazy
|
@Lazy
|
||||||
@Resource
|
@Resource
|
||||||
private RedissonClient redissonClient;
|
private RedissonClient redissonClient;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IDepartmentInfoService departmentInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取图片
|
* 获取图片
|
||||||
@ -1187,28 +1187,35 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveIfNotExistDepartment(WorkerInfo workerInfo, Project project) {
|
/**
|
||||||
// boolean existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn()));
|
* isc部门不存在就保存部门
|
||||||
// if (!existOrg) {
|
*
|
||||||
// RLock lock = null;
|
* @param workerInfo
|
||||||
// try {
|
* @param project
|
||||||
// String lockKey = "isc_org_team_add:" + workerInfo.getTeamId();
|
* @throws Exception
|
||||||
// lock = redissonClient.getLock(lockKey);
|
*/
|
||||||
// lock.tryLock( 100L, TimeUnit.SECONDS);
|
private void saveIfNotExistDepartment(WorkerInfo workerInfo, Project project) throws Exception {
|
||||||
// existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn()));
|
DepartmentInfo departmentInfo = departmentInfoService.getOne(new LambdaQueryWrapper<DepartmentInfo>()
|
||||||
// if (!existOrg) {
|
.eq(DepartmentInfo::getId, workerInfo.getDepartmentId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
|
||||||
// TeamInfo teamInfo = teamInfoService.getById(workerInfo.getTeamId());
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo, project);
|
||||||
// HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo, project);
|
if (!existOrg(project, String.valueOf(departmentInfo.getId()), hikvisionOrganization.getParentIndexCode())) {
|
||||||
// addOrgNoticeFromHttp(project, hikvisionOrganization);
|
RLock lock = null;
|
||||||
// }
|
try {
|
||||||
// } catch (Exception e) {
|
String lockKey = "isc_org_department_add:" + departmentInfo.getId();
|
||||||
// log.error("", e);
|
lock = redissonClient.getLock(lockKey);
|
||||||
// } finally {
|
lock.tryLock(100L, TimeUnit.SECONDS);
|
||||||
// if (lock != null) {
|
boolean existOrg = existOrg(project, String.valueOf(departmentInfo.getId()), hikvisionOrganization.getParentIndexCode());
|
||||||
// lock.unlock();
|
if (!existOrg) {
|
||||||
// }
|
addDepartmentInfoForHikvision(departmentInfo);
|
||||||
// }
|
}
|
||||||
// }
|
} catch (Exception e) {
|
||||||
|
log.error("", e);
|
||||||
|
} finally {
|
||||||
|
if (lock != null) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1229,8 +1236,7 @@ public class HikvisionCall {
|
|||||||
existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn()));
|
existOrg = hikvisionCall.existOrg(project, workerInfo.getTeamId() + "", StringsUtils.getUniqueEnterpriseId(workerInfo.getEnterpriseId(), workerInfo.getProjectSn()));
|
||||||
if (!existOrg) {
|
if (!existOrg) {
|
||||||
TeamInfo teamInfo = teamInfoService.getById(workerInfo.getTeamId());
|
TeamInfo teamInfo = teamInfoService.getById(workerInfo.getTeamId());
|
||||||
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo, project);
|
addTeamInfoForHikvision(teamInfo);
|
||||||
addOrgNoticeFromHttp(project, hikvisionOrganization);
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("", e);
|
log.error("", e);
|
||||||
@ -2316,7 +2322,7 @@ public class HikvisionCall {
|
|||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String orgIndexCode = StringsUtils.getUniqueEnterpriseId(enterpriseInfo.getId(), enterpriseInfo.getProjectSn());
|
String orgIndexCode = StringsUtils.getUniqueEnterpriseId(enterpriseInfo.getId(), project.getProjectSn());
|
||||||
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(enterpriseInfo, orgIndexCode);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(enterpriseInfo, orgIndexCode);
|
||||||
JSONArray orgList = getOrgList(project, orgIndexCode, project.getProjectSn());
|
JSONArray orgList = getOrgList(project, orgIndexCode, project.getProjectSn());
|
||||||
if (CollUtil.isNotEmpty(orgList)) {
|
if (CollUtil.isNotEmpty(orgList)) {
|
||||||
@ -2403,6 +2409,7 @@ public class HikvisionCall {
|
|||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
saveEnterpriseIfNotExist(project, teamInfo.getEnterpriseId());
|
||||||
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo, project);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo, project);
|
||||||
addOrgNoticeFromHttp(project, hikvisionOrganization);
|
addOrgNoticeFromHttp(project, hikvisionOrganization);
|
||||||
}
|
}
|
||||||
@ -2421,7 +2428,6 @@ public class HikvisionCall {
|
|||||||
hikvisionOrganization.setOrgIndexCode(String.valueOf(teamInfo.getId()));
|
hikvisionOrganization.setOrgIndexCode(String.valueOf(teamInfo.getId()));
|
||||||
hikvisionOrganization.setOrgName(teamInfo.getTeamName());
|
hikvisionOrganization.setOrgName(teamInfo.getTeamName());
|
||||||
hikvisionOrganization.setParentIndexCode(StringsUtils.getUniqueEnterpriseId(teamInfo.getEnterpriseId(), project.getProjectSn()));
|
hikvisionOrganization.setParentIndexCode(StringsUtils.getUniqueEnterpriseId(teamInfo.getEnterpriseId(), project.getProjectSn()));
|
||||||
|
|
||||||
return hikvisionOrganization;
|
return hikvisionOrganization;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2435,6 +2441,7 @@ public class HikvisionCall {
|
|||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
saveEnterpriseIfNotExist(project, teamInfo.getEnterpriseId());
|
||||||
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo, project);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(teamInfo, project);
|
||||||
if (existOrg(project, String.valueOf(teamInfo.getId()), hikvisionOrganization.getParentIndexCode())) {
|
if (existOrg(project, String.valueOf(teamInfo.getId()), hikvisionOrganization.getParentIndexCode())) {
|
||||||
editOrgFromHttp(project, hikvisionOrganization);
|
editOrgFromHttp(project, hikvisionOrganization);
|
||||||
@ -2504,6 +2511,7 @@ public class HikvisionCall {
|
|||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
saveEnterpriseIfNotExist(project, departmentInfo.getEnterpriseId());
|
||||||
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo, project);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo, project);
|
||||||
addOrgNoticeFromHttp(project, hikvisionOrganization);
|
addOrgNoticeFromHttp(project, hikvisionOrganization);
|
||||||
}
|
}
|
||||||
@ -2516,7 +2524,7 @@ public class HikvisionCall {
|
|||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private HikvisionOrganization getHikvisionOrganization(DepartmentInfo departmentInfo, Project project) throws Exception {
|
private HikvisionOrganization getHikvisionOrganization(DepartmentInfo departmentInfo, Project project) {
|
||||||
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
HikvisionOrganization hikvisionOrganization = new HikvisionOrganization();
|
||||||
hikvisionOrganization.setClientId(null);
|
hikvisionOrganization.setClientId(null);
|
||||||
hikvisionOrganization.setOrgIndexCode(String.valueOf(departmentInfo.getId()));
|
hikvisionOrganization.setOrgIndexCode(String.valueOf(departmentInfo.getId()));
|
||||||
@ -2535,6 +2543,7 @@ public class HikvisionCall {
|
|||||||
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
if (project == null || !Objects.equals(project.getSyncHikvision(), 1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
saveEnterpriseIfNotExist(project, departmentInfo.getEnterpriseId());
|
||||||
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo, project);
|
HikvisionOrganization hikvisionOrganization = getHikvisionOrganization(departmentInfo, project);
|
||||||
if (existOrg(project, String.valueOf(departmentInfo.getId()), hikvisionOrganization.getParentIndexCode())) {
|
if (existOrg(project, String.valueOf(departmentInfo.getId()), hikvisionOrganization.getParentIndexCode())) {
|
||||||
editOrgFromHttp(project, hikvisionOrganization);
|
editOrgFromHttp(project, hikvisionOrganization);
|
||||||
@ -2544,6 +2553,40 @@ public class HikvisionCall {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* isc企业不存在就保存企业
|
||||||
|
*
|
||||||
|
* @param project
|
||||||
|
* @param enterpriseId
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private void saveEnterpriseIfNotExist(Project project, Long enterpriseId) throws Exception {
|
||||||
|
//保存企业
|
||||||
|
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>()
|
||||||
|
.eq(EnterpriseInfo::getId, enterpriseId).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
|
||||||
|
String orgIndexCode = StringsUtils.getUniqueEnterpriseId(enterpriseInfo.getId(), project.getProjectSn());
|
||||||
|
JSONArray orgList = getOrgList(project, orgIndexCode, project.getProjectSn());
|
||||||
|
if (CollUtil.isEmpty(orgList)) {
|
||||||
|
RLock lock = null;
|
||||||
|
try {
|
||||||
|
String lockKey = "isc_org_enterprise_add:" + enterpriseInfo.getId();
|
||||||
|
lock = redissonClient.getLock(lockKey);
|
||||||
|
lock.tryLock(100L, TimeUnit.SECONDS);
|
||||||
|
orgList = getOrgList(project, orgIndexCode, project.getProjectSn());
|
||||||
|
if (CollUtil.isEmpty(orgList)) {
|
||||||
|
enterpriseInfo.setProjectSn(project.getProjectSn());
|
||||||
|
this.addEnterpriseInfoForHikvision(enterpriseInfo);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("", e);
|
||||||
|
} finally {
|
||||||
|
if (lock != null) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除组织
|
* 删除组织
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
package com.zhgd.xmgl.modules.baotou.controller;
|
package com.zhgd.xmgl.modules.baotou.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.gexin.fastjson.JSON;
|
||||||
|
import com.gexin.fastjson.TypeReference;
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
import com.zhgd.annotation.OperLog;
|
import com.zhgd.annotation.OperLog;
|
||||||
import com.zhgd.xmgl.modules.baotou.entity.ConstructionPlanLedgerSet;
|
import com.zhgd.xmgl.modules.baotou.entity.ConstructionPlanLedgerSet;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@ -10,6 +13,7 @@ import io.swagger.annotations.ApiImplicitParams;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import springfox.documentation.annotations.ApiIgnore;
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -43,10 +47,9 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Title: Controller
|
* @Title: Controller
|
||||||
* @Description: 项目文件档案权限
|
* @Description: 项目文件档案权限
|
||||||
* @author: pds
|
* @author: pds
|
||||||
@ -136,14 +139,28 @@ public class ProjectFileAuthController {
|
|||||||
@ApiImplicitParam(name = "id", value = "项目文件档案权限ID", paramType = "query", required = true, dataType = "Integer")
|
@ApiImplicitParam(name = "id", value = "项目文件档案权限ID", paramType = "query", required = true, dataType = "Integer")
|
||||||
@GetMapping(value = "/queryById")
|
@GetMapping(value = "/queryById")
|
||||||
public Result<ProjectFileAuth> queryById(@RequestParam(name="id",required=true) String id) {
|
public Result<ProjectFileAuth> queryById(@RequestParam(name="id",required=true) String id) {
|
||||||
return Result.success(projectFileAuthService.queryById(id));
|
return Result.success(projectFileAuthService.queryById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@OperLog(operModul = "项目文件档案权限管理", operType = "保存", operDesc = "保存项目文件档案权限信息")
|
@OperLog(operModul = "项目文件档案权限管理", operType = "保存", operDesc = "保存项目文件档案权限信息")
|
||||||
@ApiOperation(value = "保存项目文件档案权限信息", notes = "保存项目文件档案权限信息" , httpMethod="POST")
|
@ApiOperation(value = "保存项目文件档案权限信息", notes = "保存项目文件档案权限信息", httpMethod = "POST")
|
||||||
@PostMapping(value = "/saveList")
|
@PostMapping(value = "/saveList")
|
||||||
public Result saveList(@RequestBody List<ProjectFileAuth> auths) {
|
public Result saveList(@RequestBody List<ProjectFileAuth> auths) {
|
||||||
projectFileAuthService.saveList(auths);
|
projectFileAuthService.saveList(auths);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperLog(operModul = "项目文件档案权限管理", operType = "保存", operDesc = "保存项目文件档案权限信息v2")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "fileId", value = "项目文件ID", paramType = "body", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "auths", value = "权限对象列表", paramType = "body", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "isUpdateChildAuth", value = "0只更新本文件夹权限1更新本文件夹和下面所有文件(夹)", paramType = "body", required = true, dataType = "Integer"),
|
||||||
|
})
|
||||||
|
@ApiOperation(value = "保存项目文件档案权限信息v2", notes = "保存项目文件档案权限信息v2", httpMethod = "POST")
|
||||||
|
@PostMapping(value = "/saveListV2")
|
||||||
|
public Result saveListV2(@RequestBody Map<String, Object> param) {
|
||||||
|
projectFileAuthService.saveListV2(param);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,14 +46,22 @@ public class ConstructionDeclarationData implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "所属项目SN")
|
@ApiModelProperty(value = "所属项目SN")
|
||||||
private java.lang.String projectSn;
|
private java.lang.String projectSn;
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
private java.util.Date createDate;
|
private java.util.Date createDate;
|
||||||
/**
|
/**
|
||||||
* 更新时间
|
* 更新时间
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "更新时间")
|
@ApiModelProperty(value = "更新时间")
|
||||||
private java.util.Date updateDate;
|
private java.util.Date updateDate;
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "资质有效期开始 yyyy-MM-dd")
|
||||||
|
private java.util.Date validDateBegin;
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "资质有效期结束 yyyy-MM-dd")
|
||||||
|
private java.util.Date validDateEnd;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,14 +42,25 @@ public class ProjectHomeManage implements Serializable {
|
|||||||
/**图标*/
|
/**图标*/
|
||||||
@ApiModelProperty(value="图标")
|
@ApiModelProperty(value="图标")
|
||||||
private java.lang.String icon ;
|
private java.lang.String icon ;
|
||||||
/**附件url或内容或链接*/
|
/**
|
||||||
@ApiModelProperty(value="附件url或内容或链接")
|
* 附件url或内容或链接
|
||||||
private java.lang.String fileUrl ;
|
*/
|
||||||
/**创建时间*/
|
@ApiModelProperty(value = "附件url或内容或链接")
|
||||||
@ApiModelProperty(value="创建时间")
|
private java.lang.String fileUrl;
|
||||||
private java.util.Date createTime ;
|
/**
|
||||||
/**更新时间*/
|
* 创建时间
|
||||||
@ApiModelProperty(value="更新时间")
|
*/
|
||||||
private java.util.Date updateTime ;
|
@ApiModelProperty(value = "创建时间")
|
||||||
private java.lang.Integer sort ;
|
private java.util.Date createTime;
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private java.util.Date updateTime;
|
||||||
|
private java.lang.Integer sort;
|
||||||
|
/**
|
||||||
|
* 1展示栏目1 2展示栏目2 3管理制度
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "1展示栏目1 2展示栏目2 3管理制度")
|
||||||
|
private java.lang.Integer type;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,14 +44,32 @@ public class ProjectHomeShow implements Serializable {
|
|||||||
private java.lang.Integer whichModule ;
|
private java.lang.Integer whichModule ;
|
||||||
/**1展示栏目12展示栏目2*/
|
/**1展示栏目12展示栏目2*/
|
||||||
@ApiModelProperty(value="1展示栏目12展示栏目2")
|
@ApiModelProperty(value="1展示栏目12展示栏目2")
|
||||||
private java.lang.Integer type ;
|
private java.lang.Integer type;
|
||||||
/**所属项目SN*/
|
/**
|
||||||
@ApiModelProperty(value="所属项目SN")
|
* 所属项目SN
|
||||||
private java.lang.String projectSn ;
|
*/
|
||||||
/**创建时间*/
|
@ApiModelProperty(value = "所属项目SN")
|
||||||
@ApiModelProperty(value="创建时间")
|
private java.lang.String projectSn;
|
||||||
private java.util.Date createDate ;
|
/**
|
||||||
/**更新时间*/
|
* 创建时间
|
||||||
@ApiModelProperty(value="更新时间")
|
*/
|
||||||
private java.util.Date updateDate ;
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private java.util.Date createDate;
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private java.util.Date updateDate;
|
||||||
|
/**
|
||||||
|
* 1附件2内容3链接
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "1附件2内容3链接")
|
||||||
|
private java.lang.Integer contentType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 附件url或内容或链接
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "附件url或内容或链接")
|
||||||
|
private java.lang.String fileUrl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 项目文件档案权限
|
* @Description: 项目文件档案权限
|
||||||
@ -43,12 +44,16 @@ public interface IProjectFileAuthService extends IService<ProjectFileAuth> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
void delete(String id);
|
void delete(String id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询项目文件档案权限信息
|
* 根据id查询项目文件档案权限信息
|
||||||
|
*
|
||||||
* @param id 项目文件档案权限的id
|
* @param id 项目文件档案权限的id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ProjectFileAuth queryById(String id);
|
ProjectFileAuth queryById(String id);
|
||||||
|
|
||||||
void saveList(List<ProjectFileAuth> auths);
|
void saveList(List<ProjectFileAuth> auths);
|
||||||
|
|
||||||
|
void saveListV2(Map<String, Object> param);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,43 +1,51 @@
|
|||||||
package com.zhgd.xmgl.modules.baotou.service.impl;
|
package com.zhgd.xmgl.modules.baotou.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
|
||||||
import com.zhgd.xmgl.modules.baotou.entity.ProjectFileAuth;
|
|
||||||
import com.zhgd.xmgl.modules.baotou.entity.ProjectFileAuth;
|
|
||||||
import com.zhgd.xmgl.modules.baotou.mapper.ProjectFileAuthMapper;
|
|
||||||
import com.zhgd.xmgl.modules.baotou.service.IProjectFileAuthService;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
|
||||||
import com.zhgd.xmgl.util.PageUtil;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import java.util.HashMap;
|
import com.gexin.fastjson.JSON;
|
||||||
import java.util.List;
|
import com.gexin.fastjson.TypeReference;
|
||||||
import java.util.Map;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
import java.util.stream.Collectors;
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import com.zhgd.xmgl.modules.baotou.entity.ProjectFileAuth;
|
||||||
|
import com.zhgd.xmgl.modules.baotou.mapper.ProjectFileAuthMapper;
|
||||||
|
import com.zhgd.xmgl.modules.baotou.service.IProjectFileAuthService;
|
||||||
|
import com.zhgd.xmgl.modules.file.entity.ProjectFile;
|
||||||
|
import com.zhgd.xmgl.modules.project.service.IProjectFileService;
|
||||||
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.apache.commons.collections.MapUtils;
|
||||||
|
import org.apache.commons.collections.list.PredicatedList;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 项目文件档案权限
|
* @Description: 项目文件档案权限
|
||||||
* @author: pds
|
* @author: pds
|
||||||
* @date: 2024-08-26
|
* @date: 2024-08-26
|
||||||
* @version: V1.0
|
* @version: V1.0
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class ProjectFileAuthServiceImpl extends ServiceImpl<ProjectFileAuthMapper, ProjectFileAuth> implements IProjectFileAuthService {
|
public class ProjectFileAuthServiceImpl extends ServiceImpl<ProjectFileAuthMapper, ProjectFileAuth> implements IProjectFileAuthService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectFileAuthMapper projectFileAuthMapper;
|
private ProjectFileAuthMapper projectFileAuthMapper;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IProjectFileService projectFileService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<ProjectFileAuth> queryPageList(HashMap<String, Object> param) {
|
public IPage<ProjectFileAuth> queryPageList(HashMap<String, Object> param) {
|
||||||
QueryWrapper<ProjectFileAuth> queryWrapper = this.getQueryWrapper(param);
|
QueryWrapper<ProjectFileAuth> queryWrapper = this.getQueryWrapper(param);
|
||||||
Page<ProjectFileAuth> page = PageUtil.getPage(param);
|
Page<ProjectFileAuth> page = PageUtil.getPage(param);
|
||||||
IPage<ProjectFileAuth> pageList = baseMapper.queryList(page, queryWrapper,param);
|
IPage<ProjectFileAuth> pageList = baseMapper.queryList(page, queryWrapper, param);
|
||||||
pageList.setRecords(this.dealList(pageList.getRecords()));
|
pageList.setRecords(this.dealList(pageList.getRecords()));
|
||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
@ -67,7 +75,7 @@ public class ProjectFileAuthServiceImpl extends ServiceImpl<ProjectFileAuthMappe
|
|||||||
@Override
|
@Override
|
||||||
public void edit(ProjectFileAuth projectFileAuth) {
|
public void edit(ProjectFileAuth projectFileAuth) {
|
||||||
ProjectFileAuth oldProjectFileAuth = baseMapper.selectById(projectFileAuth.getId());
|
ProjectFileAuth oldProjectFileAuth = baseMapper.selectById(projectFileAuth.getId());
|
||||||
if(oldProjectFileAuth==null) {
|
if (oldProjectFileAuth == null) {
|
||||||
throw new OpenAlertException("未找到对应实体");
|
throw new OpenAlertException("未找到对应实体");
|
||||||
}
|
}
|
||||||
baseMapper.updateById(projectFileAuth);
|
baseMapper.updateById(projectFileAuth);
|
||||||
@ -76,7 +84,7 @@ public class ProjectFileAuthServiceImpl extends ServiceImpl<ProjectFileAuthMappe
|
|||||||
@Override
|
@Override
|
||||||
public void delete(String id) {
|
public void delete(String id) {
|
||||||
ProjectFileAuth projectFileAuth = baseMapper.selectById(id);
|
ProjectFileAuth projectFileAuth = baseMapper.selectById(id);
|
||||||
if(projectFileAuth==null) {
|
if (projectFileAuth == null) {
|
||||||
throw new OpenAlertException("未找到对应实体");
|
throw new OpenAlertException("未找到对应实体");
|
||||||
}
|
}
|
||||||
baseMapper.deleteById(id);
|
baseMapper.deleteById(id);
|
||||||
@ -116,4 +124,53 @@ public class ProjectFileAuthServiceImpl extends ServiceImpl<ProjectFileAuthMappe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void saveListV2(Map<String, Object> param) {
|
||||||
|
//fileId
|
||||||
|
//auths
|
||||||
|
//isUpdateChildAuth
|
||||||
|
String projectSn = MapUtils.getString(param, "projectSn");
|
||||||
|
String fileId = MapUtils.getString(param, "fileId");
|
||||||
|
ProjectFile file = projectFileService.getById(fileId);
|
||||||
|
//所有下级保存相同权限
|
||||||
|
List<ProjectFileAuth> auths = JSON.parseObject(JSON.toJSONString(param.get("auths")), new TypeReference<List<ProjectFileAuth>>() {
|
||||||
|
});
|
||||||
|
if (CollUtil.isNotEmpty(auths)) {
|
||||||
|
List<Long> userIds = auths.stream().map(ProjectFileAuth::getUserId).collect(Collectors.toList());
|
||||||
|
baseMapper.delete(new LambdaQueryWrapper<ProjectFileAuth>()
|
||||||
|
.eq(ProjectFileAuth::getProjectFileId, fileId)
|
||||||
|
.in(ProjectFileAuth::getUserId, userIds)
|
||||||
|
);
|
||||||
|
this.saveBatch(auths);
|
||||||
|
//更新下面文件夹权限
|
||||||
|
if (file.getIsDir() == 1) {
|
||||||
|
List<ProjectFileAuth> childAuths = new ArrayList<>();
|
||||||
|
if (Objects.equals(MapUtils.getInteger(param, "isUpdateChildAuth"), 1)) {
|
||||||
|
QueryWrapper<ProjectFile> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.lambda().eq(ProjectFile::getProjectSn, projectSn)
|
||||||
|
.likeRight(ProjectFile::getFilePath, file.getFilePath() + file.getFileName() + "/");
|
||||||
|
List<ProjectFile> children = projectFileService.list(queryWrapper);
|
||||||
|
if (CollUtil.isNotEmpty(children)) {
|
||||||
|
List<Long> fileIds = children.stream().map(ProjectFile::getFileId).collect(Collectors.toList());
|
||||||
|
baseMapper.delete(new LambdaQueryWrapper<ProjectFileAuth>()
|
||||||
|
.in(ProjectFileAuth::getProjectFileId, fileIds)
|
||||||
|
.in(ProjectFileAuth::getUserId, userIds)
|
||||||
|
);
|
||||||
|
children.forEach(o -> {
|
||||||
|
for (ProjectFileAuth auth : auths) {
|
||||||
|
ProjectFileAuth auth1 = ObjectUtil.cloneByStream(auth);
|
||||||
|
auth1.setId(null);
|
||||||
|
auth1.setProjectFileId(o.getFileId());
|
||||||
|
childAuths.add(auth1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(childAuths)) {
|
||||||
|
this.saveBatch(childAuths);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,25 +7,26 @@ import com.zhgd.jeecg.upload.domain.UploadFile;
|
|||||||
import com.zhgd.jeecg.upload.factory.ChunkUploaderFactory;
|
import com.zhgd.jeecg.upload.factory.ChunkUploaderFactory;
|
||||||
import com.zhgd.jeecg.upload.util.DateUtil;
|
import com.zhgd.jeecg.upload.util.DateUtil;
|
||||||
import com.zhgd.xmgl.base.UploadFileDTO;
|
import com.zhgd.xmgl.base.UploadFileDTO;
|
||||||
import com.zhgd.xmgl.modules.baotou.entity.ProjectFileAuth;
|
|
||||||
import com.zhgd.xmgl.modules.baotou.mapper.ProjectFileAuthMapper;
|
import com.zhgd.xmgl.modules.baotou.mapper.ProjectFileAuthMapper;
|
||||||
import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum;
|
import com.zhgd.xmgl.modules.baotou.service.IProjectFileAuthService;
|
||||||
import com.zhgd.xmgl.modules.file.entity.ProjectFile;
|
import com.zhgd.xmgl.modules.file.entity.ProjectFile;
|
||||||
import com.zhgd.xmgl.modules.file.mapper.ProjectFileMapper;
|
import com.zhgd.xmgl.modules.file.mapper.ProjectFileMapper;
|
||||||
import com.zhgd.xmgl.modules.file.service.IFiletransferService;
|
import com.zhgd.xmgl.modules.file.service.IFiletransferService;
|
||||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
import com.zhgd.xmgl.modules.project.service.IProjectFileService;
|
||||||
import com.zhgd.xmgl.util.MinioUtils;
|
import com.zhgd.xmgl.util.MinioUtils;
|
||||||
import com.zhgd.xmgl.util.PathUtil;
|
import com.zhgd.xmgl.util.PathUtil;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public class FiletransferServiceImpl implements IFiletransferService {
|
public class FiletransferServiceImpl implements IFiletransferService {
|
||||||
// @Value("${basePath}")
|
// @Value("${basePath}")
|
||||||
// private String basePath;
|
// private String basePath;
|
||||||
@ -35,6 +36,12 @@ public class FiletransferServiceImpl implements IFiletransferService {
|
|||||||
private ProjectFileMapper projectFileMapper;
|
private ProjectFileMapper projectFileMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectFileAuthMapper projectFileAuthMapper;
|
private ProjectFileAuthMapper projectFileAuthMapper;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IProjectFileService projectFileService;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IProjectFileAuthService projectFileAuthService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void uploadFile(HttpServletRequest request, UploadFileDTO uploadFileDTO) {
|
public void uploadFile(HttpServletRequest request, UploadFileDTO uploadFileDTO) {
|
||||||
@ -62,29 +69,13 @@ public class FiletransferServiceImpl implements IFiletransferService {
|
|||||||
userFile.setFileSize(uploadFile.getFileSize() + "");
|
userFile.setFileSize(uploadFile.getFileSize() + "");
|
||||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||||
projectFileMapper.insert(userFile);
|
projectFileMapper.insert(userFile);
|
||||||
if (SecurityUtils.getUser() != null) {
|
|
||||||
if (Objects.equals(SystemUserAccountTypeEnum.PROJECT_SUB_ACCOUNT.getValue(), SecurityUtils.getUser().getAccountType())) {
|
projectFileService.setAuth(userFile);
|
||||||
Long userId = SecurityUtils.getUser().getUserId();
|
|
||||||
ProjectFileAuth auth = new ProjectFileAuth();
|
|
||||||
auth.setIsUpload(1);
|
|
||||||
auth.setIsCreateNewFolder(1);
|
|
||||||
auth.setIsPreview(1);
|
|
||||||
auth.setIsSetPermission(1);
|
|
||||||
auth.setIsDelete(1);
|
|
||||||
auth.setIsMove(1);
|
|
||||||
auth.setIsRename(1);
|
|
||||||
auth.setIsDownload(1);
|
|
||||||
auth.setIsView(1);
|
|
||||||
auth.setProjectFileId(userFile.getFileId());
|
|
||||||
auth.setUserId(userId);
|
|
||||||
auth.setProjectSn(uploadFileDTO.getProjectSn());
|
|
||||||
projectFileAuthMapper.insert(auth);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void checkParams(UploadFileDTO uploadFileDTO, UploadFile uploadFile) {
|
private void checkParams(UploadFileDTO uploadFileDTO, UploadFile uploadFile) {
|
||||||
List<ProjectFile> projectFiles = projectFileMapper.selectList(new LambdaQueryWrapper<ProjectFile>()
|
List<ProjectFile> projectFiles = projectFileMapper.selectList(new LambdaQueryWrapper<ProjectFile>()
|
||||||
.eq(ProjectFile::getProjectSn, uploadFileDTO.getProjectSn())
|
.eq(ProjectFile::getProjectSn, uploadFileDTO.getProjectSn())
|
||||||
|
|||||||
@ -10,18 +10,22 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* @Description: 项目文件档案
|
* @Description: 项目文件档案
|
||||||
* @author: pds
|
* @author: pds
|
||||||
* @date: 2021-01-11
|
* @date: 2021-01-11
|
||||||
* @version: V1.0
|
* @version: V1.0
|
||||||
*/
|
*/
|
||||||
public interface IProjectFileService extends IService<ProjectFile> {
|
public interface IProjectFileService extends IService<ProjectFile> {
|
||||||
/**
|
/**
|
||||||
* 添加项目文件档案信息
|
* 添加项目文件档案信息
|
||||||
|
*
|
||||||
* @param projectFile
|
* @param projectFile
|
||||||
*/
|
*/
|
||||||
void addProjectFile(ProjectFile projectFile);
|
void addProjectFile(ProjectFile projectFile);
|
||||||
|
|
||||||
|
void setAuth(ProjectFile userFile);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件重命名
|
* 文件重命名
|
||||||
|
*
|
||||||
* @param projectFile
|
* @param projectFile
|
||||||
*/
|
*/
|
||||||
void renamefile(ProjectFile projectFile);
|
void renamefile(ProjectFile projectFile);
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package com.zhgd.xmgl.modules.project.service.impl;
|
package com.zhgd.xmgl.modules.project.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
@ -8,6 +10,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException;
|
|||||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
import com.zhgd.xmgl.modules.baotou.entity.ProjectFileAuth;
|
import com.zhgd.xmgl.modules.baotou.entity.ProjectFileAuth;
|
||||||
import com.zhgd.xmgl.modules.baotou.mapper.ProjectFileAuthMapper;
|
import com.zhgd.xmgl.modules.baotou.mapper.ProjectFileAuthMapper;
|
||||||
|
import com.zhgd.xmgl.modules.baotou.service.IProjectFileAuthService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum;
|
import com.zhgd.xmgl.modules.basicdata.enums.SystemUserAccountTypeEnum;
|
||||||
import com.zhgd.xmgl.modules.file.entity.ProjectFile;
|
import com.zhgd.xmgl.modules.file.entity.ProjectFile;
|
||||||
import com.zhgd.xmgl.modules.file.mapper.ProjectFileMapper;
|
import com.zhgd.xmgl.modules.file.mapper.ProjectFileMapper;
|
||||||
@ -17,15 +20,14 @@ import com.zhgd.xmgl.util.MessageUtil;
|
|||||||
import com.zhgd.xmgl.util.RefUtil;
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
import java.util.stream.Collectors;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 项目文件档案
|
* @Description: 项目文件档案
|
||||||
@ -40,6 +42,9 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
|
|||||||
private ProjectFileMapper projectFileMapper;
|
private ProjectFileMapper projectFileMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectFileAuthMapper projectFileAuthMapper;
|
private ProjectFileAuthMapper projectFileAuthMapper;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IProjectFileAuthService projectFileAuthService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addProjectFile(ProjectFile projectFile) {
|
public void addProjectFile(ProjectFile projectFile) {
|
||||||
@ -60,7 +65,37 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
|
|||||||
projectFile.setUploadTime(df.format(new Date()));
|
projectFile.setUploadTime(df.format(new Date()));
|
||||||
projectFileMapper.insert(projectFile);
|
projectFileMapper.insert(projectFile);
|
||||||
|
|
||||||
if (SecurityUtils.getUser() != null) {
|
setAuth(projectFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传文件设置相关权限
|
||||||
|
*
|
||||||
|
* @param userFile
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setAuth(ProjectFile userFile) {
|
||||||
|
List<ProjectFileAuth> auths = new LinkedList<>();
|
||||||
|
if (!userFile.getFilePath().equals("/")) {
|
||||||
|
//上传文件分配上级文件夹的权限
|
||||||
|
String[] splitPath = userFile.getFilePath().split("/");
|
||||||
|
ProjectFile parent = this.getOne(new LambdaQueryWrapper<ProjectFile>()
|
||||||
|
.eq(ProjectFile::getFilePath, StringUtils.substringBeforeLast(StringUtils.substringBeforeLast(userFile.getFilePath(), "/"), "/") + "/")
|
||||||
|
.eq(ProjectFile::getFileName, splitPath[splitPath.length - 1])
|
||||||
|
.eq(ProjectFile::getProjectSn, userFile.getProjectSn())
|
||||||
|
.eq(ProjectFile::getIsDir, 1)
|
||||||
|
);
|
||||||
|
if (parent != null) {
|
||||||
|
List<ProjectFileAuth> parentAuths = projectFileAuthService.list(new LambdaQueryWrapper<ProjectFileAuth>()
|
||||||
|
.eq(ProjectFileAuth::getProjectFileId, parent.getFileId()));
|
||||||
|
parentAuths.forEach(o -> {
|
||||||
|
o.setId(null);
|
||||||
|
o.setProjectFileId(userFile.getFileId());
|
||||||
|
});
|
||||||
|
auths.addAll(parentAuths);
|
||||||
|
}
|
||||||
|
} else if (SecurityUtils.getUser() != null) {
|
||||||
|
//上传顶级的文件
|
||||||
if (Objects.equals(SystemUserAccountTypeEnum.PROJECT_SUB_ACCOUNT.getValue(), SecurityUtils.getUser().getAccountType())) {
|
if (Objects.equals(SystemUserAccountTypeEnum.PROJECT_SUB_ACCOUNT.getValue(), SecurityUtils.getUser().getAccountType())) {
|
||||||
Long userId = SecurityUtils.getUser().getUserId();
|
Long userId = SecurityUtils.getUser().getUserId();
|
||||||
ProjectFileAuth auth = new ProjectFileAuth();
|
ProjectFileAuth auth = new ProjectFileAuth();
|
||||||
@ -73,12 +108,15 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
|
|||||||
auth.setIsRename(1);
|
auth.setIsRename(1);
|
||||||
auth.setIsDownload(1);
|
auth.setIsDownload(1);
|
||||||
auth.setIsView(1);
|
auth.setIsView(1);
|
||||||
auth.setProjectFileId(projectFile.getFileId());
|
auth.setProjectFileId(userFile.getFileId());
|
||||||
auth.setUserId(userId);
|
auth.setUserId(userId);
|
||||||
auth.setProjectSn(projectFile.getProjectSn());
|
auth.setProjectSn(userFile.getProjectSn());
|
||||||
projectFileAuthMapper.insert(auth);
|
auths.add(auth);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (CollUtil.isNotEmpty(auths)) {
|
||||||
|
projectFileAuthService.saveBatch(auths);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -125,16 +163,24 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteFile(ProjectFile projectFile) {
|
public void deleteFile(ProjectFile projectFile) {
|
||||||
ProjectFile oldProjectFile = projectFileMapper.selectById(projectFile.getFileId());
|
Long fileId = projectFile.getFileId();
|
||||||
|
ProjectFile oldProjectFile = projectFileMapper.selectById(fileId);
|
||||||
if (1 == oldProjectFile.getIsDir()) {
|
if (1 == oldProjectFile.getIsDir()) {
|
||||||
String filePath = oldProjectFile.getFilePath() + oldProjectFile.getFileName() + "/";
|
String filePath = oldProjectFile.getFilePath() + oldProjectFile.getFileName() + "/";
|
||||||
QueryWrapper<ProjectFile> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<ProjectFile> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(ProjectFile::getProjectSn, oldProjectFile.getProjectSn())
|
queryWrapper.lambda().eq(ProjectFile::getProjectSn, oldProjectFile.getProjectSn())
|
||||||
.likeRight(ProjectFile::getFilePath, filePath);
|
.likeRight(ProjectFile::getFilePath, filePath);
|
||||||
|
List<Long> fileIds = projectFileMapper.selectList(queryWrapper).stream().map(ProjectFile::getFileId).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(fileIds)) {
|
||||||
|
projectFileAuthService.remove(new LambdaQueryWrapper<ProjectFileAuth>()
|
||||||
|
.in(ProjectFileAuth::getProjectFileId, fileIds));
|
||||||
|
}
|
||||||
projectFileMapper.delete(queryWrapper);
|
projectFileMapper.delete(queryWrapper);
|
||||||
projectFileMapper.deleteById(projectFile.getFileId());
|
projectFileMapper.deleteById(fileId);
|
||||||
} else {
|
} else {
|
||||||
projectFileMapper.deleteById(projectFile.getFileId());
|
projectFileAuthService.remove(new LambdaQueryWrapper<ProjectFileAuth>()
|
||||||
|
.eq(ProjectFileAuth::getProjectFileId, fileId));
|
||||||
|
projectFileMapper.deleteById(fileId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -647,9 +647,13 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
workerInfoMapper.update(null, new LambdaUpdateWrapper<WorkerInfo>()
|
||||||
|
.set(WorkerInfo::getProjectGroup, workerInfo.getProjectGroup())
|
||||||
|
.eq(WorkerInfo::getId, workerInfo.getId())
|
||||||
|
);
|
||||||
workerInfoMapper.updateById(workerInfo);
|
workerInfoMapper.updateById(workerInfo);
|
||||||
workerAdmissionDetailService.update(new LambdaUpdateWrapper<WorkerAdmissionDetail>()
|
workerAdmissionDetailService.update(new LambdaUpdateWrapper<WorkerAdmissionDetail>()
|
||||||
|
.set(WorkerAdmissionDetail::getProjectGroup, workerInfo.getProjectGroup())
|
||||||
.set(WorkerAdmissionDetail::getIdCard, workerInfo.getIdCard())
|
.set(WorkerAdmissionDetail::getIdCard, workerInfo.getIdCard())
|
||||||
.set(WorkerAdmissionDetail::getWorkerName, workerInfo.getWorkerName())
|
.set(WorkerAdmissionDetail::getWorkerName, workerInfo.getWorkerName())
|
||||||
.eq(WorkerAdmissionDetail::getId, workerInfo.getWorkerAdmissionDetailId())
|
.eq(WorkerAdmissionDetail::getId, workerInfo.getWorkerAdmissionDetailId())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user