From 779aaf2c58b4c0c94cbadae29298a37d5534de41 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 28 八月 2024 17:53:04 +0800
Subject: [PATCH] 编写表单定义模块 首页布局 表单布局
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java | 448 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 401 insertions(+), 47 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 4b51876..486c5bc 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
@@ -5,11 +5,11 @@
import com.vci.corba.common.PLException;
import com.vci.corba.portal.PortalService.GetPagePortalVIArrayByPageInfoResult;
import com.vci.corba.portal.data.PortalVI;
-import com.vci.dto.PRMDTO;
-import com.vci.dto.PRMItemDTO;
-import com.vci.dto.PortalVIDTO;
+import com.vci.dto.*;
import com.vci.model.*;
import com.vci.pagemodel.*;
+import com.vci.starter.poi.bo.WriteExcelData;
+import com.vci.starter.web.enumpck.VciFieldTypeEnum;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
@@ -22,12 +22,16 @@
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.UITools;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Function;
import java.util.stream.Collectors;
/*
@@ -38,6 +42,10 @@
@Service
public class OsPortalVIServiceImpl implements OsPortalVIServiceI {
/**
+ * 鏃ュ織
+ */
+ private Logger logger = LoggerFactory.getLogger(getClass());
+ /**
* 鍔犺浇鑷韩
*/
@Autowired(required = false)
@@ -72,19 +80,22 @@
}
String viName=StringUtils.isBlank(conditionMap.get("viName"))?"":conditionMap.get("viName");
String viTypeLabel=StringUtils.isBlank(conditionMap.get("viType"))?"":conditionMap.get("viType");
- PortalVIType portalVIType= PortalVIType.getByLabel(viTypeLabel);
+ PortalVIType portalVIType= PortalVIType.getByName(viTypeLabel);
Short viType=-1;
if(portalVIType!=null){
viType=portalVIType.getIntVal();
}
String viTypeFlagLabel=StringUtils.isBlank(conditionMap.get("viTypeFlag"))?"":conditionMap.get("viTypeFlag");
- PortalVITypeFlag portalVITypeFlag= PortalVITypeFlag.getByLabel(viTypeFlagLabel);
+ PortalVITypeFlag portalVITypeFlag= PortalVITypeFlag.getByName(viTypeFlagLabel);
Short viTypeFlag=-1;
if(portalVITypeFlag!=null){
viTypeFlag=portalVITypeFlag.getIntVal();
}
long pageIndex=baseQueryObject.getPage();
long pageSize=baseQueryObject.getLimit();
+ if(pageSize==-1){
+ pageSize=25;
+ }
DataGrid<PortalVIVO> dataGrid = new DataGrid<>();
try {
GetPagePortalVIArrayByPageInfoResult pagePortalVIArrayByPageInfoResult= platformClientUtil.getPortalService().getPagePortalVIArrayByPageInfo(typeName,viName,viType,viTypeFlag,pageIndex,pageSize);
@@ -110,9 +121,30 @@
* @throws PLException
*/
@Override
- public BaseResult add(PortalVIDTO portalVIDTO) throws VciBaseException {
+ public BaseResult addSave(PortalVIDTO portalVIDTO) throws VciBaseException {
return savePortalVIDTO(portalVIDTO,false);
}
+
+ /**
+ * 鏍规嵁琛ㄥ崟id鑾峰彇鍏蜂綋鏁版嵁
+ * @param id
+ * @param viType
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ public PortalVIVO getPortalVIById(String id,String viType) throws PLException {
+ VciBaseUtil.alertNotNull(id,"涓婚敭涓虹┖锛�");
+ String lableName=PortalVIType.Form.getLabel();
+ if(PortalVIType.Table.getName()==viType){
+ lableName=PortalVIType.Table.getLabel();
+ }
+ PortalVIVO portalVIVO=new PortalVIVO();
+ PortalVI portalVI= platformClientUtil.getPortalService().getPortalVIById(id);
+ portalVIVO=portalVIDOO2VO(portalVI);
+ return portalVIVO;
+ }
+
/***
* 琛ㄥ崟/琛ㄦ牸鏇存敼
* @param portalVIDTO
@@ -120,9 +152,200 @@
* @throws PLException
*/
@Override
- public BaseResult edit(PortalVIDTO portalVIDTO) throws VciBaseException {
+ public BaseResult editSave(PortalVIDTO portalVIDTO) throws VciBaseException {
return savePortalVIDTO(portalVIDTO,true);
}
+
+ @Override
+ public boolean delete(DeletePortalVIDTOList portalVIDTOList) throws PLException {
+ if(portalVIDTOList==null||CollectionUtils.isEmpty(portalVIDTOList.getPortalVIDTOList())){
+ VciBaseUtil.alertNotNull("璇烽�夋嫨瑕佸垹闄ょ殑瀵硅薄!");
+ }
+ try {
+ for(PortalVIDTO portalVIDTO:portalVIDTOList.getPortalVIDTOList()) {
+ boolean formFlag = false;
+ short viType = portalVIDTO.getViType();
+ String typeName = portalVIDTO.getTypeName();
+ String viewName = portalVIDTO.getViName();
+ String id = portalVIDTO.getId();
+ if (viType == PortalVIType.Form.getIntVal()) {
+ // 鍒ゆ柇璇ヨ〃鍗曟槸鍚﹀湪琛ㄦ牸涓寮曠敤
+ formFlag = platformClientUtil.getPortalService().judgeDeleteButton(id, typeName);
+ if (formFlag) {
+ throw new Throwable(viewName + "琛ㄥ崟宸茬粡鍦ㄨ〃鏍间腑琚紩鐢紝璇烽噸鏂伴�夋嫨瑕佸垹闄ょ殑瀵硅薄!");
+ }
+ }
+ // 鍒ゆ柇璇ヨ〃鍗曟垨琛ㄦ牸鏄惁鍦║I瀹氫箟鏃惰寮曠敤
+ formFlag = platformClientUtil.getPortalService().judgeUpdateButton(viType, viewName, typeName);
+ if (formFlag) {
+ throw new Throwable(viewName + "鏁版嵁宸茬粡琚玌I缁勪欢寮曠敤锛岃閲嶆柊閫夋嫨瑕佸垹闄ょ殑瀵硅薄!");
+ }
+ UITools.getService().deletePortalVIByID(id);
+ }
+ }catch (Throwable e){
+ String exceptionMessage = "鍒犻櫎琛ㄥ崟鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ throw new PLException("100",new String[]{exceptionMessage});
+ }
+ return true;
+ }
+
+ @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();
+ idsList.stream().forEach(id->{
+ PortalVI portalVI= null;
+ try {
+ portalVI = platformClientUtil.getPortalService().getPortalVIById(id);
+ PortalVIList.add(portalVI);
+ } catch (PLException e) {
+ e.printStackTrace();
+ }
+ });
+ portalVIDTOList.setPortalVIDTOList(portalVIO2DTOS(PortalVIList));
+ return delete(portalVIDTOList);
+ }
+
+ /**
+ * 琛ㄥ崟/琛ㄦ牸鍏嬮殕
+ * @param clonePortalVIDTOList
+ * @return
+ * @throws VciBaseException
+ */
+ @Override
+ public boolean clone(ClonePortalVIDTOList clonePortalVIDTOList) throws VciBaseException {
+ if(clonePortalVIDTOList==null||CollectionUtils.isEmpty(clonePortalVIDTOList.getClonePortalVIDTOList())){
+ throw new VciBaseException("璇烽�夋嫨瑕佸厠闅嗙殑瀵硅薄!");
+ }
+ try {
+ String typeName=clonePortalVIDTOList.getClonePortalVIDTOList().get(0).getTypeName();
+ PortalVI[] portalVIS= platformClientUtil.getPortalService().getPortalVIArrayByTypeName(typeName);
+ Map<String, PortalVIVO> PortalVIMap=new HashMap<>();
+ if(!CollectionUtils.isEmpty(Arrays.asList(portalVIS))) {
+ List<PortalVIVO> portalVIVOS = portalVIDOO2VOS(Arrays.asList(portalVIS));
+ PortalVIMap =portalVIVOS.stream().collect(Collectors.toMap(PortalVIVO::getViName, Function.identity()));
+ }
+ List<PortalVI> portalVIList=new ArrayList<>();
+ for (ClonePortalVIDTO clonedestObject : clonePortalVIDTOList.getClonePortalVIDTOList()) {
+ String viName = clonedestObject.getViName();
+ PortalVIDTO portalVIDTO = clonedestObject.getOldPortalVIDTO();
+ short typeFlag = clonedestObject.getTypeFlag();
+ if (viName != null) {
+ VciBaseUtil.alertNotNull(viName, "鍏嬮殕鍚嶇О涓嶅厑璁镐负绌�");
+ if( PortalVIMap.containsKey(viName)){
+ throw new VciBaseException("鍏嬮殕鍚嶇О"+viName+"宸插瓨鍦紝璇锋牳瀵癸紒");
+ }
+ PortalVI portalVI = UITools.getService().getPortalVIById(portalVIDTO.getId());
+ portalVI.id = ObjectUtility.getNewObjectID36();
+ portalVI.viName = viName;
+ //濡傛灉鍏嬮殕閫夋嫨浜嗕笟鍔$被鍨嬪垯鎷疯礉鍒版柊鐨勪笟鍔$被鍨嬩笅
+ if (StringUtils.isNotBlank(typeName)) {
+ portalVI.typeName = typeName;
+ }
+ if (typeFlag == PortalVITypeFlag.BtmType.getIntVal() || typeFlag == PortalVITypeFlag.LinkType.getIntVal()) {
+ portalVI.typeFlag = typeFlag;
+ }
+ platformClientUtil.getPortalService().savePortalVI(portalVI);
+ portalVIList.add(portalVI);
+ }
+ }
+ }catch (PLException e){
+ throw new VciBaseException("鍏嬮殕鍑虹幇寮傚父:"+e.getMessage());
+ }
+ return true;
+ }
+
+ @Override
+ public String exportToExcel(Collection<String> idList) {
+ /*List<PortalVIVO> portalVIVOList= listByIds(idList);
+ List<WriteExcelData> rowDataList = new ArrayList<>();
+ final int[] index = {0};
+ if(!CollectionUtils.isEmpty(portalVIVOList)) {
+ portalVIVOList.stream().forEach(PortalVIVO -> {
+ //鍏堟槸鍚嶇О
+ int rowIndex = index[0];
+ WriteExcelData idED = new WriteExcelData(rowIndex, 0, btmId);
+ idED.setMerged(true);
+ if (attributeVOS.size() > 0) {
+ idED.setRowTo(rowIndex + attributeVOS.size() - 1 + 3);
+ }
+ rowDataList.add(idED);
+
+ WriteExcelData nameED = new WriteExcelData(rowIndex, 1, btmTypeVO.getName());
+ nameED.setMerged(true);
+ if (attributeVOS.size() > 0) {
+ nameED.setRowTo(rowIndex + attributeVOS.size() - 1 + 3);
+ }
+ rowDataList.add(nameED);
+
+ rowDataList.add(new WriteExcelData(rowIndex, 2, "id"));
+ rowDataList.add(new WriteExcelData(rowIndex, 3, "缂栧彿"));
+ rowDataList.add(new WriteExcelData(rowIndex, 4, "瀛楃涓�"));
+ rowDataList.add(new WriteExcelData(rowIndex, 5, "鏄�"));
+ rowDataList.add(new WriteExcelData(rowIndex, 6, "50"));
+ rowIndex++;
+ rowDataList.add(new WriteExcelData(rowIndex, 2, "name"));
+ rowDataList.add(new WriteExcelData(rowIndex, 3, "鍚嶇О"));
+ rowDataList.add(new WriteExcelData(rowIndex, 4, "瀛楃涓�"));
+ rowDataList.add(new WriteExcelData(rowIndex, 5, "鏄�"));
+ rowDataList.add(new WriteExcelData(rowIndex, 6, "50"));
+ rowIndex++;
+ rowDataList.add(new WriteExcelData(rowIndex, 2, "description"));
+ rowDataList.add(new WriteExcelData(rowIndex, 3, "鎻忚堪"));
+ rowDataList.add(new WriteExcelData(rowIndex, 4, "瀛楃涓�"));
+ rowDataList.add(new WriteExcelData(rowIndex, 5, "鏄�"));
+ rowDataList.add(new WriteExcelData(rowIndex, 6, "150"));
+ //澶勭悊灞炴��
+ rowIndex++;
+ for (int i = 0; i < attributeVOS.size(); i++) {
+ OsBtmTypeAttributeVO attributeVO = attributeVOS.get(i);
+ //鍏堟槸灞炴�х殑鑻辨枃鍚嶇О
+ rowDataList.add(new WriteExcelData(rowIndex, 2, attributeVO.getId()));
+ //鐒跺悗灞炴�х殑涓枃鍚嶇О
+ rowDataList.add(new WriteExcelData(rowIndex, 3, attributeVO.getName()));
+ //灞炴�х殑绫诲瀷
+ rowDataList.add(new WriteExcelData(rowIndex, 4, VciFieldTypeEnum.getTextByValue(attributeVO.getAttributeDataType())));
+ //鏄惁鍙互涓虹┖
+ rowDataList.add(new WriteExcelData(rowIndex, 5, attributeVO.isNullableFlag() ? "鏄�" : "鍚�"));
+ //灞炴�ч暱搴�
+ String length = attributeVO.getAttributeLength()==null?"":attributeVO.getAttributeLength() + "" ;
+ if (attributeVO.getPrecisionLength() != null) {
+ length = length + "(" + attributeVO.getPrecisionLength() + "," + attributeVO.getScaleLength() == null ? "2" : (attributeVO.getScaleLength() + "") + ")" ;
+ }
+ rowDataList.add(new WriteExcelData(rowIndex, 6, length));
+ //澶囨敞
+ rowDataList.add(new WriteExcelData(rowIndex, 7, attributeVO.getDescription() == null ? "" : attributeVO.getDescription()));
+ rowIndex++;
+ }
+
+ index[0] = rowIndex;
+ });
+ }
+*/
+
+ return null;
+ }
+
+ public List<PortalVIVO> listByIds(Collection idList){
+ List<PortalVIVO> portalVIVOList=new ArrayList<>();
+ if(CollectionUtils.isEmpty(idList)){
+ throw new VciBaseException("璇烽�夋嫨闇�瑕佸鍑虹殑鏁版嵁");
+ }
+ List<PortalVI> portalVIList=new ArrayList<>();
+ idList.stream().forEach(id->{
+ try {
+ PortalVI portalVI= platformClientUtil.getPortalService().getPortalVIById(id.toString());
+ portalVIList.add(portalVI);
+ } catch (PLException e) {
+ e.printStackTrace();
+ }
+ });
+ portalVIVOList= portalVIDOO2VOS(portalVIList);
+ return portalVIVOList;
+ }
private BaseResult savePortalVIDTO(PortalVIDTO portalVIDTO,boolean isEdit) {
boolean _isBtm=false;
@@ -158,7 +381,7 @@
throw new Throwable("璇�"+labelName+"宸茬粡琚紩鐢紝涓嶈兘淇敼鍚嶇О!");
}
} catch (PLException e) {
- throw new Throwable("鏌ヨ");
+ throw new Throwable("鏌ヨ鍘熸湁琛ㄥ崟鍑虹幇寮傚父:"+e.getMessage());
}
if (!portalVI.id.equals(portalVIDTO.getId())) {
if (portalVI.viName.equals(portalVIDTO.getViName())) {
@@ -175,49 +398,30 @@
}else{
flag=platformClientUtil.getPortalService().judgeUpdateButton(portalVIDTO.getTypeFlag(), portalVIDTO.getViName(), portalVIDTO.getTypeName());
}
- flag= saveForm(portalVIDTO,isEdit);
+ PortalVI pvi=portalVIDTOO2VI(portalVIDTO);
+ if (!isEdit) {
+ flag= platformClientUtil.getPortalService().savePortalVI(pvi);
+ } else {
+ flag= platformClientUtil.getPortalService().updatePortalVI(pvi);
+ }
if(flag){
return BaseResult.success("淇濆瓨"+labelName+"鎴愬姛!");
}else{
new Throwable("淇濆瓨"+labelName+"澶辫触!");
}
} catch (Throwable e) {
- // throw new VciBaseException("淇濆瓨琛ㄥ崟鍑虹幇寮傚父锛�"+e.getMessage());
- return BaseResult.fail("淇濆瓨"+labelName+"鍑虹幇寮傚父锛�"+e.getMessage());
+ String exceptionMessage = "淇濆瓨"+labelName+"鍑虹幇寮傚父锛�"+ VciBaseUtil.getExceptionMessage(e);
+ logger.error(exceptionMessage);
+ return BaseResult.fail(exceptionMessage);
+
}
return BaseResult.success("淇濆瓨"+labelName+"鎴愬姛!");
}
-
- /**
- * 琛ㄥ崟/琛ㄦ牸
- * @param portalVIDTO
- * @param isEdit
- * @return
- */
- private boolean saveForm(PortalVIDTO portalVIDTO,boolean isEdit) {
- List<PRMItemDO> prmItemList = new ArrayList<PRMItemDO>();
- try {
- PortalVI pvi=portalVIDTOO2VI(portalVIDTO);
- boolean res=false;
- if (!isEdit) {
- res= platformClientUtil.getPortalService().savePortalVI(pvi);
- } else {
- res= platformClientUtil.getPortalService().updatePortalVI(pvi);
- }
- return res;
- } catch (Throwable e) {
- e.printStackTrace();
- return false;
- }
- }
-
@Override
public Map<String, PortalVIVO> selectAllPortalVIMap() throws VciBaseException {
return null;
}
-
-
/**
* 鍒ゆ柇姣忛〉琛屾暟瀹氫箟鏄惁姝g‘
* @Title :isCorrectPageNums
@@ -294,6 +498,22 @@
});
return portalVIS;
}
+ /**
+ * 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄
+ * @param PortalVIS 琛ㄥ崟鐨勫璞�
+ * @return 鏄剧ず瀵硅薄
+ */
+ @Override
+ public List<PortalVIDTO> portalVIO2DTOS(Collection<PortalVI> PortalVIS) {
+ List<PortalVIDTO>PortalVIDTOS = new ArrayList<>();
+ Optional.ofNullable(PortalVIS).orElseGet(()->new ArrayList<>()).stream().forEach(PortalVI -> {
+ PortalVIDTO PPortalVIDTO = portalVIO2DTO(PortalVI);
+ PortalVIDTOS.add(PPortalVIDTO);
+ });
+ return PortalVIDTOS;
+ }
+
+
/**
* 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄
@@ -317,7 +537,24 @@
}
return portalVI;
}
-
+ /**
+ * 琛ㄥ崟鐨勬暟鎹璞¤浆鎹负鏄剧ず瀵硅薄
+ * @param portalVI
+ * @return
+ */
+ @Override
+ public PortalVIDTO portalVIO2DTO(PortalVI 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);
+ short viType =portalVIDTO.getViType();
+ PRMDO prmdo= UITools.getPRM(portalVI.prm);
+ portalVIDTO.setPrm(prmDOO2DTOS(prmdo,viType));
+ return portalVIDTO;
+ }
/**
* 琛ㄥ崟鏁版嵁瀵硅薄杞崲
* @param prmdto
@@ -332,17 +569,36 @@
return prmdo;
}
+ /**
+ * 琛ㄥ崟鏁版嵁瀵硅薄杞崲
+ * @param prmdo
+ * @param viType
+ * @return
+ */
+ private PRMDTO prmDOO2DTOS( PRMDO prmdo, short viType) {
+ PRMDTO prmdto=new PRMDTO();
+ prmdto.setShowCols(prmdo.getShowCols());
+ prmdto.setFormQtName(prmdo.getFormQtName());
+ prmdto.setPrmItemList(pRMItemDOO2DTOS(prmdo.getPrmItemList(),viType));
+ return prmdto;
+ }
+
@Override
public PortalVIVO portalVIDOO2VO(PortalVI portalVI) {
PortalVIVO portalVIVO=new PortalVIVO();
portalVIVO.setId(portalVI.id);
+ portalVIVO.setTypeFlagText(PortalVITypeFlag.getByIntVal(portalVI.typeFlag).getLabel());
portalVIVO.setTypeFlag(portalVI.typeFlag);
portalVIVO.setTypeName(portalVI.typeName);
portalVIVO.setViName(portalVI.viName);
portalVIVO.setViType(portalVI.viType);
+ portalVIVO.setViTypeText(PortalVIType.getByIntVal(portalVI.viType).getLabel());
+
String prm= portalVI.prm;
- PRMDO prmdo= UITools.getPRM(prm);
- portalVIVO.setPrm(prmDOO2VOS(prmdo,portalVI.viType));
+ if(StringUtils.isNotBlank(prm)) {
+ PRMDO prmdo = UITools.getPRM(prm);
+ portalVIVO.setPrm(prmDOO2VOS(prmdo, portalVI.viType));
+ }
return portalVIVO;
}
private PRMVO prmDOO2VOS(PRMDO prmdo,short viType){
@@ -370,6 +626,15 @@
return portalVIVOS;
}
+ public List<PRMItemDTO> pRMItemDOO2DTOS(Collection<PRMItemDO> prmItemDOS,short viType) {
+ List<PRMItemDTO> portalVIVOS = new ArrayList<>();
+ Optional.ofNullable(prmItemDOS).orElseGet(()->new ArrayList<>()).stream().forEach(prmItemDO -> {
+ PRMItemDTO prmItemDTO = pRMItemDOO2DTO(prmItemDO,viType);
+ portalVIVOS.add(prmItemDTO);
+ });
+ return portalVIVOS;
+ }
+
/**
* 鏁版嵁瀵硅薄杞崲
* @param prmItemDTO 鏁版嵁瀵硅薄
@@ -501,7 +766,72 @@
}
return prmItemVO;
}
-
+ /**
+ * 鏁版嵁瀵硅薄杞崲
+ * @param prmItemDO 鏁版嵁瀵硅薄
+ * @param viType 琛ㄥ崟绫诲瀷
+ * @return
+ */
+ private PRMItemDTO pRMItemDOO2DTO(PRMItemDO prmItemDO,short viType) {
+ PRMItemDTO prmItemDTO=new PRMItemDTO();
+ prmItemDTO.setItemBat(prmItemDO.getItemBat());
+ prmItemDTO.setItemCols(prmItemDO.getItemCols());
+ prmItemDTO.setItemEQ(prmItemDO.getItemEQ());
+ prmItemDTO.setItemDbl(prmItemDO.getItemDbl());
+ prmItemDTO.setItemCut(prmItemDO.getItemCut());
+ prmItemDTO.setItemOR(prmItemDO.getItemOR());
+ prmItemDTO.setItemAddFilter(prmItemDO.getItemAddFilter());
+ prmItemDTO.setItemField(prmItemDO.getItemField());
+ prmItemDTO.setItemImgWH(prmItemDO.getItemImgWH());
+ prmItemDTO.setItemCtrlDisplyCol(prmItemDO.getItemCtrlDisplyCol());//鎺у埗鏄剧ず鍒�
+ prmItemDTO.setItemDateFormat(prmItemDO.getItemDateFormat());// 鏁版嵁涓烘棩鏈熺被鍨嬫椂鐨勬牸寮忓寲瀛楃涓� 濡� yyyy-MM-dd HH:mm:ss
+ prmItemDTO.setItemInObj(prmItemDO.getItemInObj());
+ prmItemDTO.setItemName(prmItemDO.getItemName());
+ prmItemDTO.setItemCustomClass(prmItemDO.getItemCustomClass());//鑷畾涔夌被璺緞
+ prmItemDTO.setItemIsHidden(prmItemDO.getItemIsHidden());
+ prmItemDTO.setItemIsEditable(prmItemDO.getItemIsEditable());
+ prmItemDTO.setItemIsRequired(prmItemDO.getItemIsRequired());
+ prmItemDTO.setItemFieldWidth(prmItemDO.getItemFieldWidth());
+ prmItemDTO.setItemTxf(prmItemDO.getItemTxf());
+ prmItemDTO.setItemRows(prmItemDO.getItemRows());
+ prmItemDTO.setItemHrefConf(prmItemDO.getItemHrefConf());//瓒呴摼鎺ラ厤缃�
+ prmItemDTO.setItemTips(prmItemDO.getItemTips());
+ prmItemDTO.setItemTrim(prmItemDO.getItemTrim());
+ prmItemDTO.setItemDateFormat(prmItemDO.getItemDateFormat());
+ prmItemDTO.setItemCtrlDisplyCondition(prmItemDO.getItemCtrlDisplyCondition());////鎺у埗鏄剧ず鏉′欢
+ prmItemDTO.setItemEditableProgram(prmItemDO.getItemEditableProgram());
+ prmItemDTO.setItemEditCondition(prmItemDO.getItemEditCondition());
+ prmItemDTO.setItemHrefFields(prmItemDO.getItemHrefFields());//瓒呴摼鎺ュ瓧娈�
+ prmItemDTO.setItemValueList(prmItemDO.getItemValueList());
+ prmItemDTO.setItemValue(prmItemDO.getItemValue());
+ prmItemDTO.setItemStyle(prmItemDO.getItemStyle());
+ prmItemDTO.setItemShowExpression(prmItemDO.getItemShowExpression());// 鏄剧ず琛ㄨ揪寮� ${aa}-${bb}
+ prmItemDTO.setItemSeniorQueryColsCounts(prmItemDO.getItemSeniorQueryColsCounts());//楂樼骇鏌ヨ鍚勫垪浣跨敤娆℃暟
+ prmItemDTO.setItemQuerySql(prmItemDO.getItemQuerySql());//楂樼骇鏌ヨsql
+ prmItemDTO.setItemType(prmItemDO.getItemType());//灞炴�у熀鏈被鍨�
+ prmItemDTO.setItemTypeText(ItemTypeEnum.getTextByValue(prmItemDO.getItemType()));//灞炴�у熀鏈被鍨嬫樉绀哄��
+ prmItemDTO.setItemScript(prmItemDO.getItemScript());
+ prmItemDTO.setItemRight(prmItemDO.getItemRight());
+ prmItemDTO.setItemQueryRefFields(prmItemDO.getItemQueryRefFields());//鏌ヨ鍏宠仈鍒�
+ prmItemDTO.setItemQtName(prmItemDO.getItemQtName());
+ prmItemDTO.setItemParentFolderName(prmItemDO.getItemParentFolderName());//鐖舵枃浠跺す鍚嶇О
+ prmItemDTO.setItemPageSize(prmItemDO.getItemPageSize());
+ prmItemDTO.setItemOutType(prmItemDO.getItemOutType());
+ prmItemDTO.setItemOutFields(prmItemDO.getItemOutFields());
+ prmItemDTO.setItemListVal(prmItemDO.getItemListVal());//鍙傜収鍊�
+ prmItemDTO.setItemListTxt(prmItemDO.getItemListTxt());
+ prmItemDTO.setItemListTable(prmItemDO.getItemListTable());
+ prmItemDTO.setItemKeyFields(prmItemDO.getItemKeyFields());
+ prmItemDTO.setItemIsShowFolder(prmItemDO.getItemIsShowFolder());//鏄惁鏄剧ず鏂囦欢澶�
+ prmItemDTO.setItemIsNavigatorExpand(prmItemDO.getItemIsNavigatorExpand());////鏌ヨ鍖哄煙鏄剧ず鎺у埗
+ prmItemDTO.setItemIsHttpSave(prmItemDO.getItemIsHttpSave());
+ prmItemDTO.setItemHttpVolumnPath(prmItemDO.getItemHttpVolumnPath());
+ prmItemDTO.setItemHttpPathField(prmItemDO.getItemHttpPathField());
+ if(viType==PortalVIType.Table.getIntVal()) {//濡傛灉鏄〃鏍�
+ initTableConfigDOO2VOData(prmItemDTO,prmItemDO);
+ }
+ return prmItemDTO;
+ }
/**
* 鍒濆鍖栬〃鏍兼墍鐢ㄧ壒娈婂瓧娈甸厤缃�
* @param prmItemVO
@@ -510,13 +840,19 @@
private void initTableConfigDOO2VOData(PRMItemVO prmItemVO,PRMItemDO prmItemDO){
prmItemVO.setItemFieldWidthList(initItemFieldWidthList(prmItemDO.getItemOutFields(),prmItemDO.getItemFieldWidth()));//鍒楁樉绀哄娈� itemOutFieldList 鐩稿尮閰�
prmItemVO.setItemSeniorQueryBOS(initItemSeniorQueryBOData(prmItemDO.getItemSeniorQueryCols(),prmItemDO.getItemSeniorQueryColsCounts(),prmItemDO.getItemQuerySql()));//楂樼骇鏌ヨ瀵硅薄
- List<String> allKeyList= getRefFormVIName(prmItemVO.getItemInObj());
- List<String> itemOutFieldList =VciBaseUtil.str2List(prmItemVO.getItemOutFields());
- List<String> itemKeyFieldList =VciBaseUtil.str2List(prmItemVO.getItemKeyFields());
+ List<String> allKeyList= getRefFormVIName(prmItemDO.getItemInObj());
+ List<String> itemOutFieldList =VciBaseUtil.str2List(prmItemDO.getItemOutFields());
+ List<String> itemKeyFieldList =VciBaseUtil.str2List(prmItemDO.getItemKeyFields());
List<String> itemSelectoutFieldList= allKeyList.stream().filter(s ->!itemOutFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
prmItemVO.setItemSelectoutFieldList(itemSelectoutFieldList);//寰呴�夋嫨鐨勫睘鎬у瓧娈�
prmItemVO.setItemOutFieldList(itemOutFieldList);//闇�瑕佷娇鐢ㄧ殑闆嗗悎
- List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
+ // List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!CollectionUtils.isEmpty(itemKeyFieldList).stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
+ List<String> itemSearchFieldList=new ArrayList<>();
+ if(!CollectionUtils.isEmpty(itemKeyFieldList)){
+ itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.contains(s)).collect(Collectors.toList());
+ }else{
+ itemSearchFieldList=itemOutFieldList;
+ }
prmItemVO.setItemSearchFieldList(itemSearchFieldList);//寰呮悳绱㈠瓧娈�
prmItemVO.setItemKeyFieldList(itemKeyFieldList);//鎼滅储瀛楁
}
@@ -525,10 +861,28 @@
* @param prmItemDTO
* @param prmItemDO
*/
+ private void initTableConfigDOO2VOData(PRMItemDTO prmItemDTO,PRMItemDO prmItemDO){
+ prmItemDTO.setItemFieldWidthList(initItemFieldWidthList(prmItemDO.getItemOutFields(),prmItemDO.getItemFieldWidth()));//鍒楁樉绀哄娈� itemOutFieldList 鐩稿尮閰�
+ prmItemDTO.setItemSeniorQueryBOS(initItemSeniorQueryBOData(prmItemDO.getItemSeniorQueryCols(),prmItemDO.getItemSeniorQueryColsCounts(),prmItemDO.getItemQuerySql()));//楂樼骇鏌ヨ瀵硅薄
+ List<String> allKeyList= getRefFormVIName(prmItemDO.getItemInObj());
+ List<String> itemOutFieldList =VciBaseUtil.str2List(prmItemDO.getItemOutFields());
+ List<String> itemKeyFieldList =VciBaseUtil.str2List(prmItemDO.getItemKeyFields());
+ List<String> itemSelectoutFieldList= allKeyList.stream().filter(s ->!itemOutFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
+ prmItemDTO.setItemSelectoutFieldList(itemSelectoutFieldList);//寰呴�夋嫨鐨勫睘鎬у瓧娈�
+ prmItemDTO.setItemOutFieldList(itemOutFieldList);//闇�瑕佷娇鐢ㄧ殑闆嗗悎
+ List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList());
+ prmItemDTO.setItemSearchFieldList(itemSearchFieldList);//寰呮悳绱㈠瓧娈�
+ prmItemDTO.setItemKeyFieldList(itemKeyFieldList);//鎼滅储瀛楁
+ }
+ /**
+ * 鍒濆鍖栬〃鏍兼墍鐢ㄧ壒娈婂瓧娈甸厤缃�
+ * @param prmItemDTO
+ * @param prmItemDO
+ */
private void initTableConfigDTOO2DOData(PRMItemDO prmItemDO,PRMItemDTO prmItemDTO){
prmItemDO.setItemOutFields(VciBaseUtil.array2String(prmItemDTO.getItemOutFieldList().toArray(new String[]{})));//闇�瑕佷娇鐢ㄧ殑瀛楁
- prmItemDO.setItemKeyFields(VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().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();
@@ -561,7 +915,7 @@
private List<KeyValue> initItemFieldWidthList(String itemOutFields,String itemFieldWidth){
List<KeyValue> keyValueList=new ArrayList<>();
List<String>itemOutFieldList= VciBaseUtil.str2List(itemOutFields);
- List<String>itemFieldWidthList= VciBaseUtil.str2List(itemFieldWidth);
+ List<String>itemFieldWidthList= VciBaseUtil.str2List(itemFieldWidth,":");
if(itemOutFieldList.size()>0) {
for (int i = 0; i < itemOutFieldList.size(); i++) {
KeyValue keyValue = new KeyValue();
--
Gitblit v1.10.0