| | |
| | | import com.vci.web.properties.UsedNames; |
| | | import com.vci.web.service.OsAttributeServiceI; |
| | | import com.vci.web.service.OsBaseServiceI; |
| | | import com.vci.web.service.OsEnumServiceI; |
| | | import com.vci.web.service.OsLinkTypeServiceI; |
| | | import com.vci.web.util.Func; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | |
| | | @Autowired(required = false) |
| | | @Lazy |
| | | private OsBtmServiceImpl osBtmService; |
| | | |
| | | /** |
| | | * 枚举的服务 |
| | | */ |
| | | @Autowired |
| | | @Lazy |
| | | private OsEnumServiceI enumService; |
| | | |
| | | /** |
| | | * 必填列 |
| | |
| | | if(StringUtils.isNotBlank(osAttributeDTO.getLinkTypeName())){ |
| | | //参照链接类型 |
| | | sb.append(LINKTYPENAME).append(" = ").append(osAttributeDTO.getLinkTypeName()).append(";"); |
| | | sb.append(VERSION).append(" = ").append(osAttributeDTO.getVersion()).append(";"); |
| | | } |
| | | sb.append(LENGTH).append(" = ").append(length > osAttributeDTO.getAttrLength()?length:osAttributeDTO.getAttrLength()).append(";"); |
| | | if (StringUtils.isNotBlank(osAttributeDTO.getEnumId())) { |
| | |
| | | if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){ |
| | | throw new PLException("500",new String[]{"待删除的属性列表中主键【oid】、调整时间【ts】、属性名【name】不能为空!"}); |
| | | } |
| | | //判断枚举是否有被引用 |
| | | //判断属性是否有被引用 |
| | | List<Map<String, String>> usedAttrList = this.getUsedAttributeList(name); |
| | | if(Func.isNotEmpty(usedAttrList)){ |
| | | throw new PLException("500",new String[]{"删除的属性中,属性名称为:【" + name + "】,已被引用!"}); |
| | |
| | | //设置列名 |
| | | List<String> columns = new ArrayList<>( |
| | | Arrays.asList("属性名", "标签", "描述", |
| | | "属性类型", "允许为空(是/否)", "默认值", "使用的枚举英文名称", "参照的业务类型编号", |
| | | "属性类型(请参照新增界面的属性类型填写)", "允许为空(是/否)", "默认值", "使用的枚举英文名称", "参照的业务类型编号", |
| | | "参照的链接类型编号","版本版次","属性长度", "小数精度位数","小数刻度位数","取值范围") |
| | | ); |
| | | //设置必填列 |
| | |
| | | //属性名excel中判重处理 |
| | | excelReapeat.put(osAttributePO.getId(),osAttributePO.getRowIndex()); |
| | | OsAttributeDTO osAttributeDTO = new OsAttributeDTO(); |
| | | //查询枚举是否存在,填写了枚举但没填写取值范围,这时候直接使用枚举项值作为默认的range |
| | | if(Func.isNotBlank(osAttributePO.getEnumId()) && Func.isBlank(osAttributePO.getRange())){ |
| | | try { |
| | | OsEnumVO enumVO = enumService.getEnumTypeById(osAttributePO.getEnumId()); |
| | | if(Func.isEmpty(enumVO)){ |
| | | throw new VciBaseException("第【" + osAttributePO.getRowIndex() + "】行数据,通过枚举名称【" + osAttributePO.getEnumId() |
| | | + "】未获取到枚举信息!"); |
| | | } |
| | | String itemValues = enumVO.getItemMaps().values().stream().collect(Collectors.joining(";")); |
| | | osAttributeDTO.setRange(itemValues); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | throw new VciBaseException("枚举查询失败,原因:"+e.getMessage()); |
| | | } |
| | | osAttributeDTO.setBtmTypeId(osAttributePO.getEnumId()); |
| | | } |
| | | osAttributeDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT)); |
| | | osAttributeDTO.setId(osAttributePO.getId()); |
| | | osAttributeDTO.setName(osAttributePO.getName()); |