diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index 7f80e40..9bd8a47 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -177,11 +177,8 @@ equipmentList.add(new MeasureEquipmentInfoDTO()); } map.put("equipmentList", equipmentList); - prepareCustomCoverParams(map, request.getMeasureDataElectricalSafetyList()); - List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); - List voltageList = new ArrayList<>(); List indicationErrorList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index 7f80e40..9bd8a47 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -177,11 +177,8 @@ equipmentList.add(new MeasureEquipmentInfoDTO()); } map.put("equipmentList", equipmentList); - prepareCustomCoverParams(map, request.getMeasureDataElectricalSafetyList()); - List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); - List voltageList = new ArrayList<>(); List indicationErrorList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java index a1d382f..e479cc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -222,7 +223,13 @@ .build()); } } - transportPacking.setPackingTime(transportPacking.getPackingTime().substring(0, 10)); + if(StringUtils.isNotEmpty(transportPacking.getPackingTime())){ + try { + transportPacking.setPackingTime(new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(transportPacking.getPackingTime()))); + } catch (Exception e) { + throw new BusinessException(1500, String.format(transportPacking.getPackingTime(), "检定有效日期,格式不正确")); + } + } Map map = BeanUtil.beanToMap(transportPacking); map.put("detailThingList", detailThingList); printFileRegister.registerPrintFile(PrintFileModuleNameEnum.EQUIPMENT_PACKING, PrintFileModuleNameEnum.EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index 7f80e40..9bd8a47 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -177,11 +177,8 @@ equipmentList.add(new MeasureEquipmentInfoDTO()); } map.put("equipmentList", equipmentList); - prepareCustomCoverParams(map, request.getMeasureDataElectricalSafetyList()); - List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); - List voltageList = new ArrayList<>(); List indicationErrorList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java index a1d382f..e479cc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -222,7 +223,13 @@ .build()); } } - transportPacking.setPackingTime(transportPacking.getPackingTime().substring(0, 10)); + if(StringUtils.isNotEmpty(transportPacking.getPackingTime())){ + try { + transportPacking.setPackingTime(new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(transportPacking.getPackingTime()))); + } catch (Exception e) { + throw new BusinessException(1500, String.format(transportPacking.getPackingTime(), "检定有效日期,格式不正确")); + } + } Map map = BeanUtil.beanToMap(transportPacking); map.put("detailThingList", detailThingList); printFileRegister.registerPrintFile(PrintFileModuleNameEnum.EQUIPMENT_PACKING, PrintFileModuleNameEnum.EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java index 0f2d0be..fde8651 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java @@ -47,8 +47,8 @@ @Override public Page fileTemplateListPage(Page page, ModuleTypeRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); queryWrapper.orderByDesc("create_time"); page = this.baseMapper.selectPage(page, queryWrapper); Page moduleTemplatePage = PageFactory.defaultPage(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index 7f80e40..9bd8a47 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -177,11 +177,8 @@ equipmentList.add(new MeasureEquipmentInfoDTO()); } map.put("equipmentList", equipmentList); - prepareCustomCoverParams(map, request.getMeasureDataElectricalSafetyList()); - List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); - List voltageList = new ArrayList<>(); List indicationErrorList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java index a1d382f..e479cc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -222,7 +223,13 @@ .build()); } } - transportPacking.setPackingTime(transportPacking.getPackingTime().substring(0, 10)); + if(StringUtils.isNotEmpty(transportPacking.getPackingTime())){ + try { + transportPacking.setPackingTime(new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(transportPacking.getPackingTime()))); + } catch (Exception e) { + throw new BusinessException(1500, String.format(transportPacking.getPackingTime(), "检定有效日期,格式不正确")); + } + } Map map = BeanUtil.beanToMap(transportPacking); map.put("detailThingList", detailThingList); printFileRegister.registerPrintFile(PrintFileModuleNameEnum.EQUIPMENT_PACKING, PrintFileModuleNameEnum.EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java index 0f2d0be..fde8651 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java @@ -47,8 +47,8 @@ @Override public Page fileTemplateListPage(Page page, ModuleTypeRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); queryWrapper.orderByDesc("create_time"); page = this.baseMapper.selectPage(page, queryWrapper); Page moduleTemplatePage = PageFactory.defaultPage(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java index 6e788c4..c252d8f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java @@ -2,6 +2,7 @@ import com.aspose.words.SectionCollection; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.casic.missiles.dto.certificate.CropPicture; import com.casic.missiles.dto.certificate.ElectronicImage; import com.casic.missiles.model.file.ImageConfig; @@ -19,6 +20,7 @@ import com.spire.doc.documents.TextWrappingStyle; import com.spire.doc.fields.DocPicture; import liquibase.pro.packaged.D; +import liquibase.pro.packaged.E; import lombok.extern.slf4j.Slf4j; import javax.imageio.ImageIO; @@ -152,40 +154,54 @@ /** * 暂时只处理多图片的场景 + * 根据表、行、列位置填充图片 * * @param electronicSeal * @param document */ public static void populateMultiImage(ElectronicImage electronicSeal, Document document) { ImageConfig imageConfig = electronicSeal.getImageConfig(); + if (StringUtils.isEmpty(electronicSeal.getElectronicSealImageUrls())) { + return; + } Section section = document.getSections().get(0); - Table table = section.getTables().get(imageConfig.getTableIndex()-1); + Table table = section.getTables().get(imageConfig.getTableIndex() - 1); RowCollection rows = table.getRows(); if (ObjectUtils.isNotEmpty(imageConfig) && (ObjectUtils.isNotEmpty(imageConfig.getTableIndex()) && imageConfig.getTableIndex() != -1) && (ObjectUtils.isNotEmpty(imageConfig.getColIndex()) && imageConfig.getColIndex() != -1)) { String[] imageUrls = electronicSeal.getElectronicSealImageUrls().split(","); - for (int i = 1; i < rows.getCount(); i++) { - TableCell cell = rows.get(i).getCells().get(imageConfig.getColIndex()-1); - DocPicture docPicture = cell.getFirstParagraph().appendPicture(electronicSeal.getElectronicSealImageUrl() + imageUrls[i-1]); - //水平位置 - docPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center); - //垂直位置 - docPicture.setVerticalAlignment(ShapeVerticalAlignment.Center); - //设置电子章大小 //宽度可以计算 - docPicture.setWidth(cell.getWidth()*2); - docPicture.setHeight(rows.get(i).getHeight()); - //合并行列是选填,需要进一步判断 - if (ObjectUtils.isNotEmpty(imageConfig.getRowSpan())) { - docPicture.setHeight(docPicture.getHeight() * imageConfig.getRowSpan()); - } - if (ObjectUtils.isNotEmpty(imageConfig.getColSpan())) { - docPicture.setWidth(docPicture.getWidth() * imageConfig.getColSpan()); + if (ObjectUtils.isNotEmpty(imageConfig.getRowIndex()) && imageConfig.getRowIndex() != -1) { + TableCell cell = rows.get(imageConfig.getRowIndex()).getCells().get(imageConfig.getColIndex() - 1); + doPopulateMultiImage(cell, imageUrls[0], imageConfig, electronicSeal,rows,imageConfig.getRowIndex()); + } else { + for (int i = 1; i < rows.getCount(); i++) { + TableCell cell = rows.get(i).getCells().get(imageConfig.getColIndex() - 1); + doPopulateMultiImage(cell, imageUrls[i - 1], imageConfig, electronicSeal,rows,i); } } } } + private static void doPopulateMultiImage(TableCell cell, String imageUrl, ImageConfig imageConfig, ElectronicImage electronicSeal, + RowCollection rows, int index) { + DocPicture docPicture = cell.getFirstParagraph().appendPicture(electronicSeal.getElectronicSealImageUrl() + imageUrl); + //水平位置 + docPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center); + //垂直位置 + docPicture.setVerticalAlignment(ShapeVerticalAlignment.Center); + //设置电子章大小 //宽度可以计算 + docPicture.setWidth(cell.getWidth() * 2); + docPicture.setHeight(rows.get(index).getHeight()); + //合并行列是选填,需要进一步判断 + if (ObjectUtils.isNotEmpty(imageConfig.getRowSpan())) { + docPicture.setHeight(docPicture.getHeight() * imageConfig.getRowSpan()); + } + if (ObjectUtils.isNotEmpty(imageConfig.getColSpan())) { + docPicture.setWidth(docPicture.getWidth() * imageConfig.getColSpan()); + } + } + /** * 图片填充,分为单个图片或者行列的图片 * 1、单个图片具体表、行、列位置不可为-1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index 7f80e40..9bd8a47 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -177,11 +177,8 @@ equipmentList.add(new MeasureEquipmentInfoDTO()); } map.put("equipmentList", equipmentList); - prepareCustomCoverParams(map, request.getMeasureDataElectricalSafetyList()); - List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); - List voltageList = new ArrayList<>(); List indicationErrorList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java index a1d382f..e479cc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -222,7 +223,13 @@ .build()); } } - transportPacking.setPackingTime(transportPacking.getPackingTime().substring(0, 10)); + if(StringUtils.isNotEmpty(transportPacking.getPackingTime())){ + try { + transportPacking.setPackingTime(new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(transportPacking.getPackingTime()))); + } catch (Exception e) { + throw new BusinessException(1500, String.format(transportPacking.getPackingTime(), "检定有效日期,格式不正确")); + } + } Map map = BeanUtil.beanToMap(transportPacking); map.put("detailThingList", detailThingList); printFileRegister.registerPrintFile(PrintFileModuleNameEnum.EQUIPMENT_PACKING, PrintFileModuleNameEnum.EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java index 0f2d0be..fde8651 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java @@ -47,8 +47,8 @@ @Override public Page fileTemplateListPage(Page page, ModuleTypeRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); queryWrapper.orderByDesc("create_time"); page = this.baseMapper.selectPage(page, queryWrapper); Page moduleTemplatePage = PageFactory.defaultPage(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java index 6e788c4..c252d8f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java @@ -2,6 +2,7 @@ import com.aspose.words.SectionCollection; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.casic.missiles.dto.certificate.CropPicture; import com.casic.missiles.dto.certificate.ElectronicImage; import com.casic.missiles.model.file.ImageConfig; @@ -19,6 +20,7 @@ import com.spire.doc.documents.TextWrappingStyle; import com.spire.doc.fields.DocPicture; import liquibase.pro.packaged.D; +import liquibase.pro.packaged.E; import lombok.extern.slf4j.Slf4j; import javax.imageio.ImageIO; @@ -152,40 +154,54 @@ /** * 暂时只处理多图片的场景 + * 根据表、行、列位置填充图片 * * @param electronicSeal * @param document */ public static void populateMultiImage(ElectronicImage electronicSeal, Document document) { ImageConfig imageConfig = electronicSeal.getImageConfig(); + if (StringUtils.isEmpty(electronicSeal.getElectronicSealImageUrls())) { + return; + } Section section = document.getSections().get(0); - Table table = section.getTables().get(imageConfig.getTableIndex()-1); + Table table = section.getTables().get(imageConfig.getTableIndex() - 1); RowCollection rows = table.getRows(); if (ObjectUtils.isNotEmpty(imageConfig) && (ObjectUtils.isNotEmpty(imageConfig.getTableIndex()) && imageConfig.getTableIndex() != -1) && (ObjectUtils.isNotEmpty(imageConfig.getColIndex()) && imageConfig.getColIndex() != -1)) { String[] imageUrls = electronicSeal.getElectronicSealImageUrls().split(","); - for (int i = 1; i < rows.getCount(); i++) { - TableCell cell = rows.get(i).getCells().get(imageConfig.getColIndex()-1); - DocPicture docPicture = cell.getFirstParagraph().appendPicture(electronicSeal.getElectronicSealImageUrl() + imageUrls[i-1]); - //水平位置 - docPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center); - //垂直位置 - docPicture.setVerticalAlignment(ShapeVerticalAlignment.Center); - //设置电子章大小 //宽度可以计算 - docPicture.setWidth(cell.getWidth()*2); - docPicture.setHeight(rows.get(i).getHeight()); - //合并行列是选填,需要进一步判断 - if (ObjectUtils.isNotEmpty(imageConfig.getRowSpan())) { - docPicture.setHeight(docPicture.getHeight() * imageConfig.getRowSpan()); - } - if (ObjectUtils.isNotEmpty(imageConfig.getColSpan())) { - docPicture.setWidth(docPicture.getWidth() * imageConfig.getColSpan()); + if (ObjectUtils.isNotEmpty(imageConfig.getRowIndex()) && imageConfig.getRowIndex() != -1) { + TableCell cell = rows.get(imageConfig.getRowIndex()).getCells().get(imageConfig.getColIndex() - 1); + doPopulateMultiImage(cell, imageUrls[0], imageConfig, electronicSeal,rows,imageConfig.getRowIndex()); + } else { + for (int i = 1; i < rows.getCount(); i++) { + TableCell cell = rows.get(i).getCells().get(imageConfig.getColIndex() - 1); + doPopulateMultiImage(cell, imageUrls[i - 1], imageConfig, electronicSeal,rows,i); } } } } + private static void doPopulateMultiImage(TableCell cell, String imageUrl, ImageConfig imageConfig, ElectronicImage electronicSeal, + RowCollection rows, int index) { + DocPicture docPicture = cell.getFirstParagraph().appendPicture(electronicSeal.getElectronicSealImageUrl() + imageUrl); + //水平位置 + docPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center); + //垂直位置 + docPicture.setVerticalAlignment(ShapeVerticalAlignment.Center); + //设置电子章大小 //宽度可以计算 + docPicture.setWidth(cell.getWidth() * 2); + docPicture.setHeight(rows.get(index).getHeight()); + //合并行列是选填,需要进一步判断 + if (ObjectUtils.isNotEmpty(imageConfig.getRowSpan())) { + docPicture.setHeight(docPicture.getHeight() * imageConfig.getRowSpan()); + } + if (ObjectUtils.isNotEmpty(imageConfig.getColSpan())) { + docPicture.setWidth(docPicture.getWidth() * imageConfig.getColSpan()); + } + } + /** * 图片填充,分为单个图片或者行列的图片 * 1、单个图片具体表、行、列位置不可为-1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java index 80eae41..98fd377 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java @@ -80,7 +80,7 @@ for (ImageConfig extendImageConfig : extendImageList) { ElectronicImage electronicImage = defaultElectronicImage(extendImageConfig.getDocName()); electronicImage.setElectronicSealImageUrl(filePrintRegister.getTemDir()); - if (getKeyDataByMetaData(metaDataMap, extendImageConfig.getFiledName(), electronicImage, filePrintRegister)) { + if (getKeyDataByMetaData(metaDataMap, extendImageConfig.getFiledName(),extendImageConfig.getDocName(), electronicImage, filePrintRegister)) { electronicImage.setImageConfig(extendImageConfig); electronicImage.setIsSealImage(true); electronicImageSeals.add(electronicImage); @@ -92,9 +92,9 @@ /** * 获取、下载、拼装 */ - private static Boolean getKeyDataByMetaData(Map metaDataMap, String fileName, ElectronicImage electronicImage, FilePrintRegister filePrintRegister) { + private static Boolean getKeyDataByMetaData(Map metaDataMap, String fileName, String docName,ElectronicImage electronicImage, FilePrintRegister filePrintRegister) { String keyData = ""; - if (fileName.contains(".")) { + if (fileName.contains(".")) { //针对关键字图片进行处理 String[] layerKeys = fileName.split("\\."); if (layerKeys.length == 2) { //这里放入待下载的数据包及数据列表 @@ -112,7 +112,14 @@ return true; } } - } else { + }else if(StringUtils.isEmpty(docName)){ + if (metaDataMap.containsKey(fileName) && ObjectUtils.isNotEmpty(metaDataMap.get(fileName))) { + electronicImage.setElectronicSealImageUrls((String) metaDataMap.get(fileName)); + filePrintRegister.getBeDownloadedFileNames().add((String) metaDataMap.get(fileName)); + return true; + } + } + else { //处理一般关键字和单个打印图片 if (metaDataMap.containsKey(fileName) && ObjectUtils.isNotEmpty(metaDataMap.get(fileName))) { electronicImage.setElectronicSealImageUrl(electronicImage.getElectronicSealImageUrl() + (String) metaDataMap.get(fileName)); filePrintRegister.getBeDownloadedFileNames().add((String) metaDataMap.get(fileName)); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index 7f80e40..9bd8a47 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -177,11 +177,8 @@ equipmentList.add(new MeasureEquipmentInfoDTO()); } map.put("equipmentList", equipmentList); - prepareCustomCoverParams(map, request.getMeasureDataElectricalSafetyList()); - List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); - List voltageList = new ArrayList<>(); List indicationErrorList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java index a1d382f..e479cc9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentTransportPackingServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -222,7 +223,13 @@ .build()); } } - transportPacking.setPackingTime(transportPacking.getPackingTime().substring(0, 10)); + if(StringUtils.isNotEmpty(transportPacking.getPackingTime())){ + try { + transportPacking.setPackingTime(new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(transportPacking.getPackingTime()))); + } catch (Exception e) { + throw new BusinessException(1500, String.format(transportPacking.getPackingTime(), "检定有效日期,格式不正确")); + } + } Map map = BeanUtil.beanToMap(transportPacking); map.put("detailThingList", detailThingList); printFileRegister.registerPrintFile(PrintFileModuleNameEnum.EQUIPMENT_PACKING, PrintFileModuleNameEnum.EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java index 0f2d0be..fde8651 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/PrintFileTemplateRegisterServiceImpl.java @@ -47,8 +47,8 @@ @Override public Page fileTemplateListPage(Page page, ModuleTypeRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); - queryWrapper.eq(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleName()), "module_Name", request.getModuleName()); + queryWrapper.like(StringUtils.isNotEmpty(request.getModuleTypeName()), "module_type", request.getModuleTypeName()); queryWrapper.orderByDesc("create_time"); page = this.baseMapper.selectPage(page, queryWrapper); Page moduleTemplatePage = PageFactory.defaultPage(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java index 6e788c4..c252d8f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/DocPictureProvider.java @@ -2,6 +2,7 @@ import com.aspose.words.SectionCollection; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.casic.missiles.dto.certificate.CropPicture; import com.casic.missiles.dto.certificate.ElectronicImage; import com.casic.missiles.model.file.ImageConfig; @@ -19,6 +20,7 @@ import com.spire.doc.documents.TextWrappingStyle; import com.spire.doc.fields.DocPicture; import liquibase.pro.packaged.D; +import liquibase.pro.packaged.E; import lombok.extern.slf4j.Slf4j; import javax.imageio.ImageIO; @@ -152,40 +154,54 @@ /** * 暂时只处理多图片的场景 + * 根据表、行、列位置填充图片 * * @param electronicSeal * @param document */ public static void populateMultiImage(ElectronicImage electronicSeal, Document document) { ImageConfig imageConfig = electronicSeal.getImageConfig(); + if (StringUtils.isEmpty(electronicSeal.getElectronicSealImageUrls())) { + return; + } Section section = document.getSections().get(0); - Table table = section.getTables().get(imageConfig.getTableIndex()-1); + Table table = section.getTables().get(imageConfig.getTableIndex() - 1); RowCollection rows = table.getRows(); if (ObjectUtils.isNotEmpty(imageConfig) && (ObjectUtils.isNotEmpty(imageConfig.getTableIndex()) && imageConfig.getTableIndex() != -1) && (ObjectUtils.isNotEmpty(imageConfig.getColIndex()) && imageConfig.getColIndex() != -1)) { String[] imageUrls = electronicSeal.getElectronicSealImageUrls().split(","); - for (int i = 1; i < rows.getCount(); i++) { - TableCell cell = rows.get(i).getCells().get(imageConfig.getColIndex()-1); - DocPicture docPicture = cell.getFirstParagraph().appendPicture(electronicSeal.getElectronicSealImageUrl() + imageUrls[i-1]); - //水平位置 - docPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center); - //垂直位置 - docPicture.setVerticalAlignment(ShapeVerticalAlignment.Center); - //设置电子章大小 //宽度可以计算 - docPicture.setWidth(cell.getWidth()*2); - docPicture.setHeight(rows.get(i).getHeight()); - //合并行列是选填,需要进一步判断 - if (ObjectUtils.isNotEmpty(imageConfig.getRowSpan())) { - docPicture.setHeight(docPicture.getHeight() * imageConfig.getRowSpan()); - } - if (ObjectUtils.isNotEmpty(imageConfig.getColSpan())) { - docPicture.setWidth(docPicture.getWidth() * imageConfig.getColSpan()); + if (ObjectUtils.isNotEmpty(imageConfig.getRowIndex()) && imageConfig.getRowIndex() != -1) { + TableCell cell = rows.get(imageConfig.getRowIndex()).getCells().get(imageConfig.getColIndex() - 1); + doPopulateMultiImage(cell, imageUrls[0], imageConfig, electronicSeal,rows,imageConfig.getRowIndex()); + } else { + for (int i = 1; i < rows.getCount(); i++) { + TableCell cell = rows.get(i).getCells().get(imageConfig.getColIndex() - 1); + doPopulateMultiImage(cell, imageUrls[i - 1], imageConfig, electronicSeal,rows,i); } } } } + private static void doPopulateMultiImage(TableCell cell, String imageUrl, ImageConfig imageConfig, ElectronicImage electronicSeal, + RowCollection rows, int index) { + DocPicture docPicture = cell.getFirstParagraph().appendPicture(electronicSeal.getElectronicSealImageUrl() + imageUrl); + //水平位置 + docPicture.setHorizontalAlignment(ShapeHorizontalAlignment.Center); + //垂直位置 + docPicture.setVerticalAlignment(ShapeVerticalAlignment.Center); + //设置电子章大小 //宽度可以计算 + docPicture.setWidth(cell.getWidth() * 2); + docPicture.setHeight(rows.get(index).getHeight()); + //合并行列是选填,需要进一步判断 + if (ObjectUtils.isNotEmpty(imageConfig.getRowSpan())) { + docPicture.setHeight(docPicture.getHeight() * imageConfig.getRowSpan()); + } + if (ObjectUtils.isNotEmpty(imageConfig.getColSpan())) { + docPicture.setWidth(docPicture.getWidth() * imageConfig.getColSpan()); + } + } + /** * 图片填充,分为单个图片或者行列的图片 * 1、单个图片具体表、行、列位置不可为-1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java index 80eae41..98fd377 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/image/ElectronicSignSeal.java @@ -80,7 +80,7 @@ for (ImageConfig extendImageConfig : extendImageList) { ElectronicImage electronicImage = defaultElectronicImage(extendImageConfig.getDocName()); electronicImage.setElectronicSealImageUrl(filePrintRegister.getTemDir()); - if (getKeyDataByMetaData(metaDataMap, extendImageConfig.getFiledName(), electronicImage, filePrintRegister)) { + if (getKeyDataByMetaData(metaDataMap, extendImageConfig.getFiledName(),extendImageConfig.getDocName(), electronicImage, filePrintRegister)) { electronicImage.setImageConfig(extendImageConfig); electronicImage.setIsSealImage(true); electronicImageSeals.add(electronicImage); @@ -92,9 +92,9 @@ /** * 获取、下载、拼装 */ - private static Boolean getKeyDataByMetaData(Map metaDataMap, String fileName, ElectronicImage electronicImage, FilePrintRegister filePrintRegister) { + private static Boolean getKeyDataByMetaData(Map metaDataMap, String fileName, String docName,ElectronicImage electronicImage, FilePrintRegister filePrintRegister) { String keyData = ""; - if (fileName.contains(".")) { + if (fileName.contains(".")) { //针对关键字图片进行处理 String[] layerKeys = fileName.split("\\."); if (layerKeys.length == 2) { //这里放入待下载的数据包及数据列表 @@ -112,7 +112,14 @@ return true; } } - } else { + }else if(StringUtils.isEmpty(docName)){ + if (metaDataMap.containsKey(fileName) && ObjectUtils.isNotEmpty(metaDataMap.get(fileName))) { + electronicImage.setElectronicSealImageUrls((String) metaDataMap.get(fileName)); + filePrintRegister.getBeDownloadedFileNames().add((String) metaDataMap.get(fileName)); + return true; + } + } + else { //处理一般关键字和单个打印图片 if (metaDataMap.containsKey(fileName) && ObjectUtils.isNotEmpty(metaDataMap.get(fileName))) { electronicImage.setElectronicSealImageUrl(electronicImage.getElectronicSealImageUrl() + (String) metaDataMap.get(fileName)); filePrintRegister.getBeDownloadedFileNames().add((String) metaDataMap.get(fileName)); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java index 545fb5a..fc1b5e3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java @@ -173,12 +173,13 @@ BigInteger weight = table.getCTTbl().getTblGrid().getGridColList().get(0).getW(); Boolean extend = false; //改变不了原来的格式,例如光标位置 - int tempResultIndex=resultIndex,tempCellIndex=cellIndex; + int tempResultIndex = resultIndex, tempCellIndex = cellIndex; while (tempResultIndex < resultList.size() && tempCellIndex < cells.size()) { if (tempResultIndex >= differCol) { extend = true; } - tempResultIndex++;tempCellIndex++; + tempResultIndex++; + tempCellIndex++; } if (extend) { for (CTTblGridCol ctTblGridCol : table.getCTTbl().getTblGrid().getGridColList()) { @@ -259,6 +260,7 @@ } /** + * 如果是两行标题进行合并列,则进行预处理匹配,匹配到第二列的情况+加上空行的情况,目前暂时只支持两行的标题情况 * @param positionIndex 位置索引 * @param table * @param mergeColNames 合并表头参数 @@ -275,7 +277,7 @@ if (ObjectUtils.isEmpty(row)) { continue; } - //标题合并行 + //标题合并行,其实探测当前行,如果往下探测空行次数累加,得到列数就是当前的次数, while (colIndex < row.getTableCells().size()) { String titleText = row.getTableCells().get(colIndex).getText(); if (StringUtils.isNotEmpty(titleText)) { @@ -283,17 +285,17 @@ //合并两行的存在 if (i < positionIndex) { Integer mergerIndex = 0; - List cells = table.getRow(positionIndex).getTableCells(); + List cells = table.getRow(i+1).getTableCells(); for (int j = 0; j < cells.size(); ) { //获取当前所在行为空, if (StringUtils.isNotEmpty(cells.get(j).getText())) { if (++mergerIndex > colIndex) { - mergeIndexList.add(j - 1); + mergeIndexList.add(j); break; } - while (StringUtils.isNotEmpty(cells.get(++j).getText())) { - } + while (++j < cells.size() && StringUtils.isNotEmpty(cells.get(j).getText())){} } else { + //每次为空行比较一下 j++; if (++mergerIndex > colIndex) { mergeIndexList.add(j - 1);