fix:报告配置、权限细节调整
This commit is contained in:
@@ -16,7 +16,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
|||||||
*/
|
*/
|
||||||
public interface ConfigPermissionService {
|
public interface ConfigPermissionService {
|
||||||
|
|
||||||
void savePermissionListWithAutoDelete(List<ConfigPermissionSaveReqVO> list);
|
void savePermissionListWithAutoDelete(List<ConfigPermissionSaveReqVO> list, Long delSourceId, String delSourceType, String delPermissionType);
|
||||||
|
|
||||||
void savePermission(List<ConfigPermissionDO> insertList, List<ConfigPermissionDO> updateList, List<Long> deleteList);
|
void savePermission(List<ConfigPermissionDO> insertList, List<ConfigPermissionDO> updateList, List<Long> deleteList);
|
||||||
|
|
||||||
|
|||||||
@@ -37,10 +37,27 @@ public class ConfigPermissionServiceImpl implements ConfigPermissionService {
|
|||||||
private ConfigPermissionMapper configPermissionMapper;
|
private ConfigPermissionMapper configPermissionMapper;
|
||||||
|
|
||||||
|
|
||||||
//保存权限配置,自动判断删除
|
/***
|
||||||
|
* 保存权限,并判断删除
|
||||||
|
* @param list: 传入的权限列表
|
||||||
|
* 如果list为空,则按delSourceId、delSourceType、delPermissionType 删除
|
||||||
|
*
|
||||||
|
* */
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void savePermissionListWithAutoDelete(List<ConfigPermissionSaveReqVO> list) {
|
public void savePermissionListWithAutoDelete(List<ConfigPermissionSaveReqVO> list, Long delSourceId, String delSourceType, String delPermissionType) {
|
||||||
|
LambdaQueryWrapper<ConfigPermissionDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
//如果传入权限列表为空,则按sourceId、 sourceType、 delPermissionType删除
|
||||||
|
if(list == null || list.isEmpty()){
|
||||||
|
if(delSourceId != null && !ObjectUtils.isEmpty(delSourceType)){
|
||||||
|
wrapper.eq(ConfigPermissionDO::getSourceId, delSourceId);
|
||||||
|
wrapper.eq(ConfigPermissionDO::getSourceType, delSourceType);
|
||||||
|
if(delPermissionType != null)
|
||||||
|
wrapper.eq(ConfigPermissionDO::getPermissionType, delPermissionType);
|
||||||
|
configPermissionMapper.delete( wrapper);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
//检查数据,避免误处理:按sourceId、sourceType检查
|
//检查数据,避免误处理:按sourceId、sourceType检查
|
||||||
List<Long> sourceIdList = list.stream().map(ConfigPermissionSaveReqVO::getSourceId).distinct().toList();
|
List<Long> sourceIdList = list.stream().map(ConfigPermissionSaveReqVO::getSourceId).distinct().toList();
|
||||||
List<String> sourceTypeList = list.stream().map(ConfigPermissionSaveReqVO::getSourceType).distinct().toList();
|
List<String> sourceTypeList = list.stream().map(ConfigPermissionSaveReqVO::getSourceType).distinct().toList();
|
||||||
@@ -48,13 +65,13 @@ public class ConfigPermissionServiceImpl implements ConfigPermissionService {
|
|||||||
if (sourceIdList.size() > 1 || sourceTypeList.size() > 1 || permissionTypeList.size() > 1) {
|
if (sourceIdList.size() > 1 || sourceTypeList.size() > 1 || permissionTypeList.size() > 1) {
|
||||||
throw exception0(CONFIG_PERMISSION_DUPLICATE.getCode(), "权限保存失败,提交的权限数据存在不一致的情况,请刷新后重试,或联系管理员处理");
|
throw exception0(CONFIG_PERMISSION_DUPLICATE.getCode(), "权限保存失败,提交的权限数据存在不一致的情况,请刷新后重试,或联系管理员处理");
|
||||||
}
|
}
|
||||||
LambdaQueryWrapper<ConfigPermissionDO> queryWrapper = new LambdaQueryWrapper<>();
|
|
||||||
ConfigPermissionSaveReqVO queryDO = list.get(0);
|
ConfigPermissionSaveReqVO queryDO = list.get(0);
|
||||||
queryWrapper.eq(ConfigPermissionDO::getSourceId, queryDO.getSourceId())
|
wrapper.eq(ConfigPermissionDO::getSourceId, queryDO.getSourceId())
|
||||||
.eq(ConfigPermissionDO::getSourceType, queryDO.getSourceType());
|
.eq(ConfigPermissionDO::getSourceType, queryDO.getSourceType());
|
||||||
if(!ObjectUtils.isEmpty(queryDO.getPermissionType()))
|
if(!ObjectUtils.isEmpty(queryDO.getPermissionType()))
|
||||||
queryWrapper.eq(ConfigPermissionDO::getPermissionType, queryDO.getPermissionType());
|
wrapper.eq(ConfigPermissionDO::getPermissionType, queryDO.getPermissionType());
|
||||||
List<ConfigPermissionDO> oldList = configPermissionMapper.selectList(queryWrapper);
|
List<ConfigPermissionDO> oldList = configPermissionMapper.selectList(wrapper);
|
||||||
List<ConfigPermissionSaveReqVO> insertList = new ArrayList<>();
|
List<ConfigPermissionSaveReqVO> insertList = new ArrayList<>();
|
||||||
List<ConfigPermissionSaveReqVO> updateList = new ArrayList<>();
|
List<ConfigPermissionSaveReqVO> updateList = new ArrayList<>();
|
||||||
List<Long> deleteIdList = new ArrayList<>();
|
List<Long> deleteIdList = new ArrayList<>();
|
||||||
|
|||||||
@@ -407,6 +407,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
|
|||||||
t.put("sampleNameCode", sampleNameCode);
|
t.put("sampleNameCode", sampleNameCode);
|
||||||
t.put("sampleName", sampleName);
|
t.put("sampleName", sampleName);
|
||||||
t.put("sampleCode", sampleCode);
|
t.put("sampleCode", sampleCode);
|
||||||
|
t.put("remark", remark);
|
||||||
for(ConfigReportFieldDO fieldDO : fieldList){
|
for(ConfigReportFieldDO fieldDO : fieldList){
|
||||||
String fieldName = fieldDO.getFieldName();
|
String fieldName = fieldDO.getFieldName();
|
||||||
String field = fieldDO.getField();
|
String field = fieldDO.getField();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.zt.plat.module.qms.business.config.service.ConfigPermissionService;
|
|||||||
import com.zt.plat.module.qms.business.reportdoc.controller.vo.*;
|
import com.zt.plat.module.qms.business.reportdoc.controller.vo.*;
|
||||||
import com.zt.plat.module.qms.business.reportdoc.dal.mapper.ReportDocumentTypeMapper;
|
import com.zt.plat.module.qms.business.reportdoc.dal.mapper.ReportDocumentTypeMapper;
|
||||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentTypeDO;
|
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentTypeDO;
|
||||||
|
import com.zt.plat.module.qms.enums.QmsPermissionConstant;
|
||||||
import com.zt.plat.module.system.api.permission.PermissionApi;
|
import com.zt.plat.module.system.api.permission.PermissionApi;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -43,7 +44,9 @@ public class ReportDocumentTypeServiceImpl implements ReportDocumentTypeService
|
|||||||
|
|
||||||
//处理权限
|
//处理权限
|
||||||
List<ConfigPermissionSaveReqVO> primissionList = reqVo.getPermissionList();
|
List<ConfigPermissionSaveReqVO> primissionList = reqVo.getPermissionList();
|
||||||
configPermissionService.savePermissionListWithAutoDelete(primissionList);
|
if(reqVo.getId() != null){
|
||||||
|
configPermissionService.savePermissionListWithAutoDelete(primissionList, reqVo.getMainId(), QmsPermissionConstant.REPORT_DOCUMENT_TYPE_START, null);
|
||||||
|
}
|
||||||
if("1".equals(newVersionFlag))
|
if("1".equals(newVersionFlag))
|
||||||
return saveWithNewVersion(reqVo);
|
return saveWithNewVersion(reqVo);
|
||||||
if(reqVo.getId() == null){
|
if(reqVo.getId() == null){
|
||||||
@@ -52,6 +55,11 @@ public class ReportDocumentTypeServiceImpl implements ReportDocumentTypeService
|
|||||||
reportDocumentTypeMapper.insert(typeDO);
|
reportDocumentTypeMapper.insert(typeDO);
|
||||||
Long id = typeDO.getId();
|
Long id = typeDO.getId();
|
||||||
typeDO.setMainId(id);
|
typeDO.setMainId(id);
|
||||||
|
|
||||||
|
for(ConfigPermissionSaveReqVO permission : primissionList)
|
||||||
|
permission.setSourceId( id);
|
||||||
|
configPermissionService.savePermissionListWithAutoDelete(primissionList, id, QmsPermissionConstant.REPORT_DOCUMENT_TYPE_START, null);
|
||||||
|
|
||||||
this.reportDocumentTypeMapper.updateById(typeDO);
|
this.reportDocumentTypeMapper.updateById(typeDO);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user