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