From e374aba8fd09d57ed79691a3876ef11625fbac6d Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期五, 01 十二月 2023 15:27:58 +0800
Subject: [PATCH] 集团码导出模板功能添加
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java | 7 +++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 2
3 files changed, 116 insertions(+), 1 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
index f456e51..db787cb 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -779,7 +779,7 @@
@GetMapping("/exportGroupCodeExcel")
@VciBusinessLog(operateName = "瀵煎嚭闆嗗洟鐮�")
public void exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{
- String excelName = mdmIOService.createImportExcel(codeClassifyOid,false);
+ String excelName = mdmIOService.exportGroupCodeExcel(codeClassifyOid);
try {
ControllerUtil.writeFileToResponse(response,excelName);
} catch (Throwable e) {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
index d063ec2..4eaad49 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmIOService.java
@@ -119,4 +119,11 @@
* @param operationType
*/
void sendApplyGroupcode(List<String> idList,String btmName,String operationType);
+
+ /***
+ * 瀵煎嚭闆嗗洟鐮佹ā鏉�
+ * @param classOid
+ * @return
+ */
+ String exportGroupCodeExcel(String classOid);
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index 99278b3..96383b7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -4605,4 +4605,112 @@
}
}
+ /***
+ * @param codeClassifyOid
+ * @return
+ */
+ @Override
+ public String exportGroupCodeExcel(String codeClassifyOid) {
+ List<CodeClassifyTemplateVO> templateVOList=new ArrayList<>();
+ VciBaseUtil.alertNotNull("瀵煎嚭妯℃澘","瀵煎嚭鐨勯厤缃�",codeClassifyOid,"涓婚搴撳垎绫荤殑涓婚敭");
+ CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid);
+ //鎵炬ā鏉�
+ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid);
+ templateVOList.add(templateVO);
+ WriteExcelOption eo = new WriteExcelOption();
+ eo.setAppend(true);
+ //澧炲姞妯℃澘鐨勪俊鎭鍏�
+ LinkedList<WriteExcelData> tempEDList = new LinkedList<>();
+ tempEDList.add(new WriteExcelData(0,0,"妯℃澘涓婚敭"));
+ tempEDList.add(new WriteExcelData(0,1,"妯℃澘浠e彿"));
+ tempEDList.add(new WriteExcelData(0,2,"妯℃澘鍚嶇О"));
+ CodeClassifyTemplateVO codeClassifyTemplateVO = new CodeClassifyTemplateVO();
+ BeanUtils.copyProperties(templateVO,codeClassifyTemplateVO);
+ //缁勫悎鏍煎紡鐨勪笉瀵煎叆锛�
+ // 鏋氫妇鐨勬彁渚涘簭鍒楃殑閫夋嫨
+ //鏃堕棿鍏ㄩ儴缁熶竴涓簓yyy-MM-dd HH:mm:ss
+ //鍙傜収鐨勮嚜琛岃緭鍏ュ悕绉�
+ //鍒嗙被娉ㄥ叆鐨勪笉鐢紝閮芥槸瀵煎叆鍚庤嚜鍔ㄥ鐞嗙殑
+ //缂栫爜锛岀姸鎬佺瓑瀛楁涓嶅鍏�
+ List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList=codeClassifyTemplateVO.getAttributes();
+ if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrVOList)) {
+ if (CollectionUtils.isEmpty(codeClassifyTemplateAttrVOList)) {
+ throw new VciBaseException("妯℃澘娌℃湁閰嶇疆灞炴��");
+ }
+ }
+ List<CodeClassifyTemplateAttrVO> templateAttrVOS = codeClassifyTemplateAttrVOList.stream().filter(s ->
+ !DEFAULT_ATTR_LIST.contains(s.getId())
+ && StringUtils.isBlank(s.getComponentRule())
+ && StringUtils.isBlank(s.getClassifyInvokeAttr())
+ && (VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
+ ).collect(Collectors.toList());
+
+ if (CollectionUtils.isEmpty(templateAttrVOS)) {
+ throw new VciBaseException("妯℃澘娌℃湁閰嶇疆浠讳綍銆愯〃鍗曟樉绀恒�戜负銆愭槸銆戠殑灞炴��");
+ }
+ List<CodeClassifyTemplateAttrVO> idAttrVOList = codeClassifyTemplateVO.getAttributes().stream().filter(s -> s.getId().equalsIgnoreCase(CODE_FIELD)).collect(Collectors.toList());
+ LinkedList<WriteExcelData> excelDataList = new LinkedList<>();
+ Workbook workbook = new HSSFWorkbook();
+ excelDataList.add(new WriteExcelData(0,0,!CollectionUtils.isEmpty(idAttrVOList)?idAttrVOList.get(0).getName():"浼佷笟缂栫爜",idAttrVOList.get(0).getId()));
+ excelDataList.add(new WriteExcelData(0,1,"闆嗗洟鐮�",""));
+ for (int i = 0; i < templateAttrVOS.size(); i++) {
+ CodeClassifyTemplateAttrVO attrVO = templateAttrVOS.get(i);
+
+ Object text = attrVO.getName();
+ text = exportKeyAndRequired(workbook, attrVO, text);
+ int colIndex = 2 + i;
+ WriteExcelData excelData = new WriteExcelData(0, colIndex, text, attrVO.getId());
+ if (StringUtils.isNotBlank(attrVO.getCodeDateFormat())
+ || VciFieldTypeEnum.VTDateTime.name().equalsIgnoreCase(attrVO.getAttributeDataType())
+ || VciFieldTypeEnum.VTDate.name().equalsIgnoreCase(attrVO.getAttributeDataType())
+ || VciFieldTypeEnum.VTTime.name().equalsIgnoreCase(attrVO.getAttributeDataType())) {
+ excelData.setDateFormat(VciDateUtil.DateTimeFormat);
+ }
+ if (text instanceof RichTextString) {
+ excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex()));
+ }
+ excelDataList.add(excelData);
+ if (StringUtils.isNotBlank(attrVO.getEnumString()) || StringUtils.isNotBlank(attrVO.getEnumId())) {
+ //娣诲姞鏁版嵁鏈夋晥鎬�
+ List<String> enumValueList = new ArrayList<>();
+ enumValueList.add("");
+ List<KeyValue> valueList = engineService.listComboboxItems(attrVO);
+ if (!CollectionUtils.isEmpty(valueList)) {
+ valueList.stream().forEach(kv -> {
+ enumValueList.add(kv.getValue());
+ });
+ }
+ //榛樿鍔�1涓囨潯
+ WriteExcelData ed = new WriteExcelData(1, colIndex, "");
+ ed.setRowTo(100);
+ ed.setColTo(colIndex);
+ ed.setValidation(true);
+ ed.setValidationDataList(enumValueList);
+ ed.setValidationErrorMsg("璇峰湪搴忓垪涓�夋嫨姝g‘鐨勫��");
+ excelDataList.add(ed);
+ }
+ if (VciFieldTypeEnum.VTBoolean.name().equalsIgnoreCase(attrVO.getAttributeDataType())) {
+ List<String> booleanList = new ArrayList<>();
+
+ booleanList.add("鏄�");
+ booleanList.add("鍚�");
+ //榛樿鍔�1涓囨潯
+ WriteExcelData ed = new WriteExcelData(1, colIndex, "");
+ ed.setRowTo(100);
+ ed.setColTo(colIndex);
+ ed.setValidation(true);
+ ed.setValidationDataList(booleanList);
+ ed.setValidationErrorMsg("璇峰湪搴忓垪涓�夋嫨姝g‘鐨勫��");
+ excelDataList.add(ed);
+ }
+ }
+ eo.addSheetDataList(templateVO.getName(),excelDataList);
+ tempEDList.add(new WriteExcelData(1,0,templateVO.getOid()));
+ tempEDList.add(new WriteExcelData(1,1,templateVO.getId()));
+ tempEDList.add(new WriteExcelData(1,2,templateVO.getName()));
+ String excelName = LocalFileUtil.getDefaultTempFolder() + File.separator + codeClassifyVO.getName() + "闆嗗洟鐮乢瀵煎叆妯℃澘.xls";
+ eo.addSheetDataList(templateVOList.size()+"妯℃澘淇℃伅銆愯鍕垮垹闄ゆ垨绉诲姩銆�",tempEDList);
+ ExcelUtil.writeDataToFile(excelName,eo);
+ return excelName;
+ }
}
--
Gitblit v1.9.3