diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java new file mode 100644 index 0000000..2511ee9 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java @@ -0,0 +1,19 @@ +package com.casic.missiles.annotation; + +import java.lang.annotation.*; + +/** + * 加在需要标记字段上 + * 如有多个字段需要多个对应的标记字段 + * field为需要添加*的字段名 + * @author liuxiang + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ConcatAsterisk { + /** + * 字段名 + */ + String field(); +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java new file mode 100644 index 0000000..2511ee9 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java @@ -0,0 +1,19 @@ +package com.casic.missiles.annotation; + +import java.lang.annotation.*; + +/** + * 加在需要标记字段上 + * 如有多个字段需要多个对应的标记字段 + * field为需要添加*的字段名 + * @author liuxiang + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ConcatAsterisk { + /** + * 字段名 + */ + String field(); +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index 3b3138b..590f90f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.Impl.eqpt.standard; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.casic.missiles.annotation.ConcatAsterisk; import com.casic.missiles.enums.business.MeasureCategoryEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; @@ -9,6 +10,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.List; @@ -21,6 +23,40 @@ protected StandardEquipmentColConfig standardEquipmentColConfig; /** + * 处理*号 + */ + protected void concatMutliAsterisk(List list) { + for (T object : list) { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + if (!field.isAccessible()) { + field.setAccessible(true); + } + // 检查字段是否被ConcatAsterisk注解标记 + ConcatAsterisk concatAsterisk = field.getAnnotation(ConcatAsterisk.class); + if (concatAsterisk != null && field.get(object) != null && field.get(object).equals(1)) { + String fieldName = concatAsterisk.field(); + Field declaredField = object.getClass().getDeclaredField(fieldName); + declaredField.setAccessible(true); + Object fieldValue = declaredField.get(object); + // 仅当字段值为String类型时执行拼接操作 + if (fieldValue instanceof String) { + declaredField.set(object, (fieldValue + "*")); + } else { + log.warn("该字段不是String类型" + fieldName); + } + } + } catch (NoSuchFieldException | IllegalAccessException e) { + log.warn("反射字段访问错误..." + field.getName() + ". " + e.getMessage()); + } catch (IllegalArgumentException e) { + log.warn("存在非法参数..." + field.getName() + ". " + e.getMessage()); + } + } + } + } + + /** * 替换map集合中的空值为斜杠/ * * @param map @@ -36,7 +72,7 @@ } protected Boolean examineOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { - if ("校验".equals(measureItemInfo.getMeasureCategoryName())){ + if ("校验".equals(measureItemInfo.getMeasureCategoryName())) { return true; } return false; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java new file mode 100644 index 0000000..2511ee9 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java @@ -0,0 +1,19 @@ +package com.casic.missiles.annotation; + +import java.lang.annotation.*; + +/** + * 加在需要标记字段上 + * 如有多个字段需要多个对应的标记字段 + * field为需要添加*的字段名 + * @author liuxiang + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ConcatAsterisk { + /** + * 字段名 + */ + String field(); +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index 3b3138b..590f90f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.Impl.eqpt.standard; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.casic.missiles.annotation.ConcatAsterisk; import com.casic.missiles.enums.business.MeasureCategoryEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; @@ -9,6 +10,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.List; @@ -21,6 +23,40 @@ protected StandardEquipmentColConfig standardEquipmentColConfig; /** + * 处理*号 + */ + protected void concatMutliAsterisk(List list) { + for (T object : list) { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + if (!field.isAccessible()) { + field.setAccessible(true); + } + // 检查字段是否被ConcatAsterisk注解标记 + ConcatAsterisk concatAsterisk = field.getAnnotation(ConcatAsterisk.class); + if (concatAsterisk != null && field.get(object) != null && field.get(object).equals(1)) { + String fieldName = concatAsterisk.field(); + Field declaredField = object.getClass().getDeclaredField(fieldName); + declaredField.setAccessible(true); + Object fieldValue = declaredField.get(object); + // 仅当字段值为String类型时执行拼接操作 + if (fieldValue instanceof String) { + declaredField.set(object, (fieldValue + "*")); + } else { + log.warn("该字段不是String类型" + fieldName); + } + } + } catch (NoSuchFieldException | IllegalAccessException e) { + log.warn("反射字段访问错误..." + field.getName() + ". " + e.getMessage()); + } catch (IllegalArgumentException e) { + log.warn("存在非法参数..." + field.getName() + ". " + e.getMessage()); + } + } + } + } + + /** * 替换map集合中的空值为斜杠/ * * @param map @@ -36,7 +72,7 @@ } protected Boolean examineOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { - if ("校验".equals(measureItemInfo.getMeasureCategoryName())){ + if ("校验".equals(measureItemInfo.getMeasureCategoryName())) { return true; } return false; 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 0ee079c..ef6a545 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 @@ -165,60 +165,67 @@ map.put(strListParam + DATE_PREFIX + 6, StringUtils.isNotBlank(dataCalibrator.getTestValueSixDate()) ? dataCalibrator.getTestValueSixDate() : "/"); } - public static void main(String[] args) { - Student student = new Student(); - student.setName("123"); - student.setAge("11"); - List adjustList = new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Adjust adjust = new Adjust(); - adjust.setAdjustName("123" + i); - adjust.setAdjustTime("111" + i); - adjustList.add(adjust); - } - student.setAdjustList(adjustList); - Map map = BeanUtil.beanToMap(student); - List excludedKeys = Arrays.asList("approvalStatus", "processId", "createUserId", "createUserName", - "checkUserName", "approvalStatusName", "taskId", "decisionItem", "staffName", "lessThan"); - map.forEach((k, v) -> { - if (v instanceof Collection) { - List list = (List) v; - List> objectList = new ArrayList<>(); - list.forEach(obj -> { - Map objectMap = BeanUtil.beanToMap(obj); - objectMap.forEach((k1, v1) -> { - if (!excludedKeys.contains(k1) && org.springframework.util.ObjectUtils.isEmpty(v1)) { - objectMap.put(k1, "/"); - } - }); - objectList.add(objectMap); - }); - map.put(k, objectList); - } else { - if (!excludedKeys.contains(k) && org.springframework.util.ObjectUtils.isEmpty(v)) { - map.put(k, "/"); - } - } - }); - String jsonString = JSON.toJSONString(map); - System.out.println(jsonString); - ; - } +// public static void main(String[] args) { +// Student student = new Student(); +// student.setName("123"); +// student.setAge("11"); +// List adjustList = new ArrayList<>(); +// for (int i = 0; i < 5; i++) { +// Adjust adjust = new Adjust(); +// adjust.setAdjustName("123" + i); +// adjust.setAdjustTime("111" + i); +// adjustList.add(adjust); +// } +// student.setAdjustList(adjustList); +// Map map = BeanUtil.beanToMap(student); +// List excludedKeys = Arrays.asList("approvalStatus", "processId", "createUserId", "createUserName", +// "checkUserName", "approvalStatusName", "taskId", "decisionItem", "staffName", "lessThan"); +// map.forEach((k, v) -> { +// if (v instanceof Collection) { +// List list = (List) v; +// List> objectList = new ArrayList<>(); +// list.forEach(obj -> { +// Map objectMap = BeanUtil.beanToMap(obj); +// objectMap.forEach((k1, v1) -> { +// adjustStringOrObject(k1, v1, excludedKeys, objectMap); +// }); +// objectList.add(objectMap); +// }); +// map.put(k, objectList); +// } else { +// adjustStringOrObject(k,v,excludedKeys,map); +// } +// }); +// String jsonString = JSON.toJSONString(map); +// System.out.println(jsonString); +// } +// +// private static void adjustStringOrObject(String k, Object v, List excludedKeys, Map map) { +// if(v instanceof String){ +// if (!excludedKeys.contains(k) && StringUtils.isBlank((String) v)) { +// map.put(k, "/"); +// } +// }else { +// if (!excludedKeys.contains(k) && ObjectUtils.isEmpty(v)) { +// map.put(k, "/"); +// } +// } +// } - @Data - private static class Student { - private String name; - private String age; - private String score; - private List adjustList; - } - - @Data - private static class Adjust { - private String AdjustName; - private String AdjustTime; - private String AdjustAge; - } +// @Data +// private static class Student { +// private String name; +// private String age; +// private String score; +// private List adjustList; +// } +// +// @Data +// private static class Adjust { +// private String AdjustName; +// private String AdjustTime; +// private String AdjustAge; +// } @Override public List doCreateOriginalFile(BizBusinessDeviceMeasureApproval request) { diff --git a/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java new file mode 100644 index 0000000..2511ee9 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/annotation/ConcatAsterisk.java @@ -0,0 +1,19 @@ +package com.casic.missiles.annotation; + +import java.lang.annotation.*; + +/** + * 加在需要标记字段上 + * 如有多个字段需要多个对应的标记字段 + * field为需要添加*的字段名 + * @author liuxiang + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ConcatAsterisk { + /** + * 字段名 + */ + String field(); +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index 3b3138b..590f90f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.Impl.eqpt.standard; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.casic.missiles.annotation.ConcatAsterisk; import com.casic.missiles.enums.business.MeasureCategoryEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; @@ -9,6 +10,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.List; @@ -21,6 +23,40 @@ protected StandardEquipmentColConfig standardEquipmentColConfig; /** + * 处理*号 + */ + protected void concatMutliAsterisk(List list) { + for (T object : list) { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + try { + if (!field.isAccessible()) { + field.setAccessible(true); + } + // 检查字段是否被ConcatAsterisk注解标记 + ConcatAsterisk concatAsterisk = field.getAnnotation(ConcatAsterisk.class); + if (concatAsterisk != null && field.get(object) != null && field.get(object).equals(1)) { + String fieldName = concatAsterisk.field(); + Field declaredField = object.getClass().getDeclaredField(fieldName); + declaredField.setAccessible(true); + Object fieldValue = declaredField.get(object); + // 仅当字段值为String类型时执行拼接操作 + if (fieldValue instanceof String) { + declaredField.set(object, (fieldValue + "*")); + } else { + log.warn("该字段不是String类型" + fieldName); + } + } + } catch (NoSuchFieldException | IllegalAccessException e) { + log.warn("反射字段访问错误..." + field.getName() + ". " + e.getMessage()); + } catch (IllegalArgumentException e) { + log.warn("存在非法参数..." + field.getName() + ". " + e.getMessage()); + } + } + } + } + + /** * 替换map集合中的空值为斜杠/ * * @param map @@ -36,7 +72,7 @@ } protected Boolean examineOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { - if ("校验".equals(measureItemInfo.getMeasureCategoryName())){ + if ("校验".equals(measureItemInfo.getMeasureCategoryName())) { return true; } return false; 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 0ee079c..ef6a545 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 @@ -165,60 +165,67 @@ map.put(strListParam + DATE_PREFIX + 6, StringUtils.isNotBlank(dataCalibrator.getTestValueSixDate()) ? dataCalibrator.getTestValueSixDate() : "/"); } - public static void main(String[] args) { - Student student = new Student(); - student.setName("123"); - student.setAge("11"); - List adjustList = new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Adjust adjust = new Adjust(); - adjust.setAdjustName("123" + i); - adjust.setAdjustTime("111" + i); - adjustList.add(adjust); - } - student.setAdjustList(adjustList); - Map map = BeanUtil.beanToMap(student); - List excludedKeys = Arrays.asList("approvalStatus", "processId", "createUserId", "createUserName", - "checkUserName", "approvalStatusName", "taskId", "decisionItem", "staffName", "lessThan"); - map.forEach((k, v) -> { - if (v instanceof Collection) { - List list = (List) v; - List> objectList = new ArrayList<>(); - list.forEach(obj -> { - Map objectMap = BeanUtil.beanToMap(obj); - objectMap.forEach((k1, v1) -> { - if (!excludedKeys.contains(k1) && org.springframework.util.ObjectUtils.isEmpty(v1)) { - objectMap.put(k1, "/"); - } - }); - objectList.add(objectMap); - }); - map.put(k, objectList); - } else { - if (!excludedKeys.contains(k) && org.springframework.util.ObjectUtils.isEmpty(v)) { - map.put(k, "/"); - } - } - }); - String jsonString = JSON.toJSONString(map); - System.out.println(jsonString); - ; - } +// public static void main(String[] args) { +// Student student = new Student(); +// student.setName("123"); +// student.setAge("11"); +// List adjustList = new ArrayList<>(); +// for (int i = 0; i < 5; i++) { +// Adjust adjust = new Adjust(); +// adjust.setAdjustName("123" + i); +// adjust.setAdjustTime("111" + i); +// adjustList.add(adjust); +// } +// student.setAdjustList(adjustList); +// Map map = BeanUtil.beanToMap(student); +// List excludedKeys = Arrays.asList("approvalStatus", "processId", "createUserId", "createUserName", +// "checkUserName", "approvalStatusName", "taskId", "decisionItem", "staffName", "lessThan"); +// map.forEach((k, v) -> { +// if (v instanceof Collection) { +// List list = (List) v; +// List> objectList = new ArrayList<>(); +// list.forEach(obj -> { +// Map objectMap = BeanUtil.beanToMap(obj); +// objectMap.forEach((k1, v1) -> { +// adjustStringOrObject(k1, v1, excludedKeys, objectMap); +// }); +// objectList.add(objectMap); +// }); +// map.put(k, objectList); +// } else { +// adjustStringOrObject(k,v,excludedKeys,map); +// } +// }); +// String jsonString = JSON.toJSONString(map); +// System.out.println(jsonString); +// } +// +// private static void adjustStringOrObject(String k, Object v, List excludedKeys, Map map) { +// if(v instanceof String){ +// if (!excludedKeys.contains(k) && StringUtils.isBlank((String) v)) { +// map.put(k, "/"); +// } +// }else { +// if (!excludedKeys.contains(k) && ObjectUtils.isEmpty(v)) { +// map.put(k, "/"); +// } +// } +// } - @Data - private static class Student { - private String name; - private String age; - private String score; - private List adjustList; - } - - @Data - private static class Adjust { - private String AdjustName; - private String AdjustTime; - private String AdjustAge; - } +// @Data +// private static class Student { +// private String name; +// private String age; +// private String score; +// private List adjustList; +// } +// +// @Data +// private static class Adjust { +// private String AdjustName; +// private String AdjustTime; +// private String AdjustAge; +// } @Override public List doCreateOriginalFile(BizBusinessDeviceMeasureApproval request) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index d720da7..f66635e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -130,17 +130,17 @@ } catch (RuntimeException rex) { log.error("文件打印出现异常,打印参数信息为{},异常信息为{}", JSON.toJSON(filePrintRegister), rex); } finally { - if (ObjectUtils.isNotEmpty(registerParameters.getCompressParameter()) && registerParameters.getCompressParameter().getZip()) { - //转移文件 - fileMove(localFileDir + registerParameters.getCompressParameter().getRootDirName(), printDocUrl); - } else if (StringUtils.isNotEmpty(printDocUrl)) { - //如果文件路径不为空,回传文件流 - miniName = createResponseFileInput(printDocUrl, registerParameters.getResponse()); - } - //删除无效的文件 - File invalidFile = new File(tempLocalFileDir); - // 删除运行空间下的文件 - deleteFile(invalidFile); +// if (ObjectUtils.isNotEmpty(registerParameters.getCompressParameter()) && registerParameters.getCompressParameter().getZip()) { +// //转移文件 +// fileMove(localFileDir + registerParameters.getCompressParameter().getRootDirName(), printDocUrl); +// } else if (StringUtils.isNotEmpty(printDocUrl)) { +// //如果文件路径不为空,回传文件流 +// miniName = createResponseFileInput(printDocUrl, registerParameters.getResponse()); +// } +// //删除无效的文件 +// File invalidFile = new File(tempLocalFileDir); +// // 删除运行空间下的文件 +// deleteFile(invalidFile); log.info("证书打印完成......,证书名称为{}", miniName); } return miniName;