From 67df4c1a5ef6ead480c539b8fccdb6b37d51401d Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期三, 15 一月 2025 18:22:06 +0800 Subject: [PATCH] 表单新建没有主键问题 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java | 83 +++++++++++++++++++++++------------------ 1 files changed, 47 insertions(+), 36 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java index b1486a2..df39636 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java @@ -11,7 +11,9 @@ import com.vci.corba.portal.PortalService.GetPagePortalVIArrayByPageInfoResult; import com.vci.corba.portal.data.PortalVI; import com.vci.dto.*; -import com.vci.model.*; +import com.vci.enumpck.UI.ItemTypeEnum; +import com.vci.model.PRMDO; +import com.vci.model.PRMItemDO; import com.vci.pagemodel.*; import com.vci.po.PortalVIPO; import com.vci.po.QTDPO; @@ -25,17 +27,14 @@ import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; -import com.vci.starter.word.bo.WordMergeStartTableDataBO; -import com.vci.starter.word.util.WordUtil; -import com.vci.web.enumpck.ItemTypeEnum; import com.vci.web.enumpck.PortalVIType; import com.vci.web.enumpck.PortalVITypeFlag; -import com.vci.web.other.BtmQTExportData; import com.vci.web.service.OsAttributeServiceI; import com.vci.web.service.OsPortalVIServiceI; import com.vci.web.service.OsQuereyTemplateServiceI; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.UITools; +import com.vci.web.util.WebUtil; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -44,16 +43,17 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import org.springframework.web.multipart.MultipartFile; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.stream.Collectors; /* - * 閾炬帴绫诲瀷鏈嶅姟 + * 琛ㄥ崟/琛ㄦ牸鏈嶅姟 * @author xiej * @date 2024-08-14 */ @@ -166,12 +166,12 @@ if(PortalVIType.Table.getName()==viType){ lableName=PortalVIType.Table.getLabel(); } - PortalVIVO portalVIVO = new PortalVIVO(); + PortalVIVO portalVIVO = null; PortalVI portalVI = platformClientUtil.getPortalService().getPortalVIById(id); if(portalVI==null||StringUtils.isBlank(portalVI.id)){ throw new VciBaseException("鏍规嵁涓婚敭鏈煡璇㈠埌鏁版嵁"); } - portalVIVO=portalVIDOO2VO(portalVI); + portalVIVO = portalVIDOO2VO(portalVI); return portalVIVO; } @@ -211,7 +211,13 @@ if (formFlag) { throw new Throwable(viewName + "鏁版嵁宸茬粡琚玌I缁勪欢寮曠敤锛岃閲嶆柊閫夋嫨瑕佸垹闄ょ殑瀵硅薄!"); } - UITools.getService().deletePortalVIByID(id); + PortalVI portalVI = new PortalVI(); + portalVI.id = portalVIDTO.getId(); + portalVI.viName = portalVIDTO.getViName(); + portalVI.viType = portalVIDTO.getViType(); + portalVI.typeName = portalVIDTO.getTypeName(); + portalVI.typeFlag = portalVIDTO.getTypeFlag(); + platformClientUtil.getPortalService().deletePortalVI(portalVI); } }catch (Throwable e){ String exceptionMessage = "鍒犻櫎琛ㄥ崟鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); @@ -224,20 +230,26 @@ @Override public boolean delete(String ids) throws PLException { VciBaseUtil.alertNotNull(ids,"涓婚敭"); - List<String> idsList= VciBaseUtil.str2List(ids); - List<PortalVI> PortalVIList= new ArrayList<>(); - DeletePortalVIDTOList portalVIDTOList=new DeletePortalVIDTOList(); + List<String> idsList = VciBaseUtil.str2List(ids); + List<PortalVIDTO> portalVIDTOList = new ArrayList<>(); + DeletePortalVIDTOList deletePortalVIDTOList=new DeletePortalVIDTOList(); idsList.stream().forEach(id->{ PortalVI portalVI= null; try { portalVI = platformClientUtil.getPortalService().getPortalVIById(id); - PortalVIList.add(portalVI); + PortalVIDTO portalVIDTO = new PortalVIDTO(); + portalVIDTO.setId(portalVI.id); + portalVIDTO.setTypeFlag(portalVI.typeFlag); + portalVIDTO.setTypeName(portalVI.typeName); + portalVIDTO.setViName(portalVI.viName); + portalVIDTO.setViType(portalVI.viType); + portalVIDTOList.add(portalVIDTO); } catch (PLException e) { e.printStackTrace(); } }); - portalVIDTOList.setPortalVIDTOList(portalVIO2DTOS(PortalVIList)); - return delete(portalVIDTOList); + deletePortalVIDTOList.setPortalVIDTOList(portalVIDTOList); + return delete(deletePortalVIDTOList); } /** @@ -648,7 +660,7 @@ try { VciBaseUtil.alertNotNull( portalVIDTO.getViName(),"鍚嶇О" - ,portalVIDTO.getPrm().getFormQtName(),"缁戝畾琛ㄥ崟"); + /*,portalVIDTO.getPrm().getFormQtName(),"缁戝畾琛ㄥ崟"*/); if(portalVIDTO.getPrm()==null||portalVIDTO.getPrm().getPrmItemList()==null||portalVIDTO.getPrm().getPrmItemList().size()==0){ throw new Throwable(labelName+"锛屾湭璁剧疆"); } @@ -692,7 +704,7 @@ }else{ flag=platformClientUtil.getPortalService().judgeUpdateButton(portalVIDTO.getTypeFlag(), portalVIDTO.getViName(), portalVIDTO.getTypeName()); } - PortalVI pvi=portalVIDTOO2VI(portalVIDTO); + PortalVI pvi = portalVIDTOO2VI(portalVIDTO); if (!isEdit) { flag= platformClientUtil.getPortalService().savePortalVI(pvi); } else { @@ -801,7 +813,7 @@ */ @Override public List<PortalVIDTO> portalVIO2DTOS(Collection<PortalVI> PortalVIS) { - List<PortalVIDTO>PortalVIDTOS = new ArrayList<>(); + List<PortalVIDTO> PortalVIDTOS = new ArrayList<>(); Optional.ofNullable(PortalVIS).orElseGet(()->new ArrayList<>()).stream().forEach(PortalVI -> { PortalVIDTO PPortalVIDTO = portalVIO2DTO(PortalVI); PortalVIDTOS.add(PPortalVIDTO); @@ -809,17 +821,15 @@ return PortalVIDTOS; } - - /** * 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄 * @param portalVIDTO * @return */ @Override - public PortalVI portalVIDTOO2VI(PortalVIDTO portalVIDTO) { + public PortalVI portalVIDTOO2VI(PortalVIDTO portalVIDTO) { PortalVI portalVI = new PortalVI(); - portalVI.id = portalVIDTO.getId(); + portalVI.id = StringUtils.isNotBlank(portalVIDTO.getId()) ? portalVIDTO.getId() : WebUtil.getPk(); portalVI.typeFlag = portalVIDTO.getTypeFlag(); portalVI.typeName = portalVIDTO.getTypeName(); portalVI.viName = portalVIDTO.getViName(); @@ -883,7 +893,7 @@ @Override public PortalVIVO portalVIDOO2VO(PortalVI portalVI) { - PortalVIVO portalVIVO=new PortalVIVO(); + PortalVIVO portalVIVO = new PortalVIVO(); portalVIVO.setId(portalVI.id); portalVIVO.setTypeFlagText(PortalVITypeFlag.getByIntVal(portalVI.typeFlag).getLabel()); portalVIVO.setTypeFlag(portalVI.typeFlag); @@ -1216,16 +1226,17 @@ * @param prmItemDO */ private void initTableConfigDTOO2DOData(PRMItemDO prmItemDO,PRMItemDTO prmItemDTO){ - - prmItemDO.setItemOutFields(VciBaseUtil.array2String(prmItemDTO.getItemOutFieldList().toArray(new String[]{})));//闇�瑕佷娇鐢ㄧ殑瀛楁 - prmItemDO.setItemKeyFields(CollectionUtils.isEmpty(prmItemDTO.getItemKeyFieldList())?"":VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().toArray(new String[]{})));//闇�瑕佹悳绱㈢殑瀛楁 - List<String> newItemFieldWidthList = prmItemDTO.getItemFieldWidthList().stream().map(KeyValue::getValue).distinct().collect(Collectors.toList()); - prmItemDO.setItemFieldWidth(VciBaseUtil.array2String(newItemFieldWidthList.toArray(new String[]{}),":"));//瀛楁瀹藉害 - List<ItemSeniorQueryBO> itemSeniorQueryBOS = prmItemDTO.getItemSeniorQueryBOS(); - List<String> itemSeniorQueryColsList = new ArrayList<>(); - List<String> itemSeniorQueryColsCountsList=new ArrayList<>(); - List<String> itemQuerySqlList = new ArrayList<>(); - itemSeniorQueryBOS.stream().forEach(itemSeniorQueryBO -> { + prmItemDO.setItemOutFields(VciBaseUtil.array2String(prmItemDTO.getItemOutFieldList().toArray(new String[]{}))); + //闇�瑕佷娇鐢ㄧ殑瀛楁prmItemDO.setItemKeyFields(CollectionUtils.isEmpty(prmItemDTO.getItemKeyFieldList())?"":VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().toArray(new String[]{})));//闇�瑕佹悳绱㈢殑瀛楁 + // TODO: 2024/12/5 Ludc 杩欏効鍘婚噸鐢ㄧ殑涓嶅锛孠eyValue::getValue鏄瀹藉害鍘婚噸浜� + List<String> newItemFieldWidthList = prmItemDTO.getItemFieldWidthList().stream().distinct().map(KeyValue::getValue).collect(Collectors.toList()); + // TODO: 2024/12/5 Ludc 鍒嗛殧绗﹁鍜屽钩鍙扮粺涓�鐢�,鑰屼笉鏄敤: + prmItemDO.setItemFieldWidth(VciBaseUtil.array2String(newItemFieldWidthList.toArray(new String[]{}),","));//瀛楁瀹藉害 + List<ItemSeniorQueryBO> itemSeniorQueryBOS = prmItemDTO.getItemSeniorQueryBOS(); + List<String> itemSeniorQueryColsList = new ArrayList<>(); + List<String> itemSeniorQueryColsCountsList=new ArrayList<>(); + List<String> itemQuerySqlList = new ArrayList<>(); + itemSeniorQueryBOS.stream().forEach(itemSeniorQueryBO -> { String itemSeniorQueryCols = itemSeniorQueryBO.getItemSeniorQueryCols(); String itemSeniorQueryColsCounts = itemSeniorQueryBO.getItemSeniorQueryColsCounts(); String itemQuerySql = itemSeniorQueryBO.getItemQuerySql(); -- Gitblit v1.9.3