From 701430066e4652ca46e5a625546fdb15086c5a99 Mon Sep 17 00:00:00 2001 From: crish <570360737@qq.com> Date: Thu, 30 May 2019 12:10:11 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BA=8B=E5=8A=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: crish <570360737@qq.com> --- .../pojo/base/jpa/daoimpl/BaseRepositoryImpl.java | 43 ++++++++++------------ 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java index 04141fd..5477b66 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java @@ -1415,12 +1415,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query query = entityManager.createQuery(sb.toString()); setParameter(query,paramName,paramValue); - double sumResult = 0.0; - List objList = query.getResultList(); - if(objList.size() > 0){ - sumResult = Double.parseDouble(objList.iterator().next().toString()); - } - return sumResult; + return getNumberByResultList(query.getResultList()); }else{ throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } @@ -1444,12 +1439,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query query = entityManager.createQuery(sb.toString()); setParameter(query,paramName,paramValue); - double sumResult = 0.0; - List objList = query.getResultList(); - if(objList.size() > 0){ - sumResult = Double.parseDouble(objList.iterator().next().toString()); - } - return sumResult; + return getNumberByResultList(query.getResultList()); }else{ throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } @@ -1472,12 +1462,7 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query query = entityManager.createQuery(sb.toString()); setParameter(query,paramName,paramValue); - double sumResult = 0.0; - List objList = query.getResultList(); - if(objList.size() > 0){ - sumResult = Double.parseDouble(objList.iterator().next().toString()); - } - return sumResult; + return getNumberByResultList(query.getResultList()); }else{ throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } @@ -1501,14 +1486,24 @@ public class BaseRepositoryImpl extends SimpleJpaRep Query query = entityManager.createQuery(sb.toString()); setParameter(query,paramName,paramValue); - double sumResult = 0.0; - List objList = query.getResultList(); - if(objList.size() > 0){ - sumResult = Double.parseDouble(objList.iterator().next().toString()); - } - return sumResult; + return getNumberByResultList(query.getResultList()); }else{ throw new IllegalArgumentException("sum查询错误!paramName:" + paramName + ",paramValue:" + paramValue); } } + + //从结果集中获取数字转换 + public double getNumberByResultList(List objList){ + double num = 0.0; + if(objList != null && objList.size() > 0){ + if(objList.get(0) != null){ + try { + num = Double.parseDouble(objList.get(0).toString()); + }catch(NumberFormatException ne){ + LOGGER.error("数字转换出错!",ne); + } + } + } + return num; + } } From 9b51768cb240c0b78b4976a55a8694930c990c9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Wed, 29 May 2019 18:57:27 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=A1=8C=E5=88=97=E6=95=B0=E9=87=8F=E4=B8=8D?= =?UTF-8?q?=E5=87=86=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/estsh/i3plus/pojo/form/bean/BfElementPropertyVirtual.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElementPropertyVirtual.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElementPropertyVirtual.java index 9f58432..01ad207 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElementPropertyVirtual.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfElementPropertyVirtual.java @@ -45,7 +45,7 @@ public class BfElementPropertyVirtual extends BaseBean { private Long dataObjectId; @Column(name="PROPERTY_CODE") - @ApiParam(value ="类属性名称") + @ApiParam(value ="类属性代码") private String propertyCode; @Column(name="PROPERTY_NAME") From b89e5c5fb9cc80de9f89f4e102a7cdbf17acc74f Mon Sep 17 00:00:00 2001 From: Silliter Date: Thu, 30 May 2019 13:12:00 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=91=BC=E5=8F=AB=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E5=92=8C=E5=93=8D=E5=BA=94=E5=8D=87=E7=BA=A7=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/AndonAlarmDetailType.java | 42 ++++++++++++++++++++++ .../bean/AndonAlarmResponseCfg.java | 8 +++++ ...{AndonStopLineConfig.java => AndonHaltCfg.java} | 4 +-- ...epository.java => IAndonHaltCfgRepository.java} | 4 +-- .../sqlpack/AndonHqlPack.java | 8 ++--- 5 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmDetailType.java rename modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/{AndonStopLineConfig.java => AndonHaltCfg.java} (94%) rename modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/{IAndonStopLineCfgRepository.java => IAndonHaltCfgRepository.java} (68%) diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmDetailType.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmDetailType.java new file mode 100644 index 0000000..b217ba9 --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmDetailType.java @@ -0,0 +1,42 @@ +package cn.estsh.i3plus.pojo.andon.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description : 安灯子类型 + * @Reference : + * @Author : silliter.yuan + * @CreateDate : 2019-05-10 17:16 + * @Modify: + **/ +@Data +@Entity +@Table(name="ANDON_ALARM_DETAIL_TYPE") +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Api("安灯子类型") +public class AndonAlarmDetailType extends BaseBean { + + @Column(name = "ALARM_DETAIL_CODE") + @ApiParam(value = "安灯类型代码") + private String alarmDetailCode; + + @Column(name = "ALARM_DETAIL_NAME") + @ApiParam(value = "安灯类型名称") + private String alarmDetailName; + + @Column(name = "ALARM_CODE") + @ApiParam(value = "安灯类型代码") + private String alarmCode; +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmResponseCfg.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmResponseCfg.java index 091ddec..2a816ce 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmResponseCfg.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonAlarmResponseCfg.java @@ -51,4 +51,12 @@ public class AndonAlarmResponseCfg extends BaseBean { @Column(name = "RP_LEVEL") @ApiParam(value = "通知级别") private String rpLevel; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam(value = "工作中心代码") + private String workCenterCode; + + @Column(name = "WORK_CENTER_NAME_RDD") + @ApiParam(value = "工作中心名称") + private String workCenterNameRdd; } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonStopLineConfig.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonHaltCfg.java similarity index 94% rename from modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonStopLineConfig.java rename to modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonHaltCfg.java index 9cd1a6f..b1718d0 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonStopLineConfig.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonHaltCfg.java @@ -22,7 +22,7 @@ import javax.persistence.Table; **/ @Data @Entity -@Table(name="ANDON_STOP_LINE_CFG", indexes = { +@Table(name="ANDON_HALT_CFG", indexes = { @Index(columnList = "WORK_CENTER_CODE", name = "ANDON_INDEX_WORK_CENTER_CODE"), @Index(columnList = "WORK_CELL_CODE", name = "ANDON_INDEX_WORK_CELL_CODE"), @Index(columnList = "ORGANIZE_CODE", name = "ANDON_INDEX_ORGANIZE_CODE"), @@ -32,7 +32,7 @@ import javax.persistence.Table; @DynamicUpdate @EqualsAndHashCode(callSuper = true) @Api("安灯队列") -public class AndonStopLineConfig extends BaseBean { +public class AndonHaltCfg extends BaseBean { @Column(name = "ALARM_CODE") @ApiParam(value = "安灯类型") diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonStopLineCfgRepository.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonHaltCfgRepository.java similarity index 68% rename from modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonStopLineCfgRepository.java rename to modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonHaltCfgRepository.java index 4042df9..134006a 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonStopLineCfgRepository.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonHaltCfgRepository.java @@ -1,6 +1,6 @@ package cn.estsh.i3plus.pojo.andon.repository; -import cn.estsh.i3plus.pojo.andon.bean.AndonStopLineConfig; +import cn.estsh.i3plus.pojo.andon.bean.AndonHaltCfg; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import org.springframework.stereotype.Repository; @@ -12,5 +12,5 @@ import org.springframework.stereotype.Repository; * @Modify: **/ @Repository -public interface IAndonStopLineCfgRepository extends BaseRepository { +public interface IAndonHaltCfgRepository extends BaseRepository { } diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java index 3a8daf1..2566f56 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java @@ -3,7 +3,6 @@ package cn.estsh.i3plus.pojo.andon.sqlpack; import cn.estsh.i3plus.pojo.andon.bean.*; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; -import cn.estsh.i3plus.pojo.base.enumutil.AndonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import org.apache.commons.lang3.StringUtils; @@ -341,8 +340,9 @@ public class AndonHqlPack { DdlPreparedPack.getStringEqualPack(responseCfg.getAlarmCode(), "alarmCode", result); DdlPreparedPack.getStringEqualPack(responseCfg.getAndonStatus(), "andonStatus", result); - DdlPreparedPack.getNumNOEqualPack(String.valueOf(AndonEnumUtil.ALARM_PRIORITY.FIRST.getValue()), - "rpLevel", result); + DdlPreparedPack.getStringEqualPack(responseCfg.getRpLevel(), "rpLevel", result); + DdlPreparedPack.getStringEqualPack(responseCfg.getWorkCenterCode(), "workCenterCode", result); + DdlPreparedPack.getStringEqualPack(responseCfg.getRpObjectCode(), "rpObjectCode", result); getStringBuilderPack(responseCfg, result); @@ -354,7 +354,7 @@ public class AndonHqlPack { * @param stopLineConfig * @return */ - public static DdlPackBean packAndonStopLineCfg(AndonStopLineConfig stopLineConfig) { + public static DdlPackBean packAndonHaltCfg(AndonHaltCfg stopLineConfig) { DdlPackBean result = new DdlPackBean(); DdlPreparedPack.getStringEqualPack(stopLineConfig.getAlarmCode(), "alarmCode", result); From 27b32626b3b2a1b0445240309b8e53537f0e0110 Mon Sep 17 00:00:00 2001 From: Silliter Date: Thu, 30 May 2019 17:55:58 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=BC=80=E5=8F=91=E4=B8=BB=E5=8A=A8?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=92=8C=E5=90=AF=E5=8A=A8=E4=BA=A7=E7=BA=BF?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/AndonManageQueue.java | 27 +++++++++++++++++++ .../bean/AndonManageRecord.java | 31 ++++++++++++++++++++++ .../IAndonAlarmDetailTypeRepository.java | 16 +++++++++++ .../sqlpack/AndonHqlPack.java | 16 +++++++++++ .../i3plus/pojo/base/enumutil/AndonEnumUtil.java | 14 +++++++++- 5 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonAlarmDetailTypeRepository.java diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java index a7a8359..31c9a41 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageQueue.java @@ -256,6 +256,33 @@ public class AndonManageQueue extends BaseBean { @ApiParam(value = "发送标志") private String sendFlag; + /** + * 处理类型:10=标准处理,20=自处理 + */ + @Column(name = "DISPOSAL_TYPE") + @ApiParam(value = "处理类型") + private String disposalType; + + @Column(name = "ALARM_DETAIL_CODE") + @ApiParam(value = "安灯子类型代码") + private String alarmDetailCode; + + @Column(name = "EPM_CODE") + @ApiParam(value = "事件现象代码") + private String epmCode; + + @Column(name = "EPM_NAME_RDD") + @ApiParam(value = "事件现象描述") + private String epmNameRdd; + + @Column(name = "IMPORTANCE_CODE") + @ApiParam(value = "重要等级代码") + private String importanceCode; + + @Column(name = "IMPORTANCE_NAME_RDD") + @ApiParam(value = "重要等级名称") + private String importanceNameRdd; + // 是否转呼 public Integer getIsShiftCall() { return this.isShiftCall == null ? 0 : this.isShiftCall; diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java index eb0887c..2ddb970 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/bean/AndonManageRecord.java @@ -225,6 +225,37 @@ public class AndonManageRecord extends BaseBean { @ApiParam(value = "停机具体原因") private String haltDesc; + @Column(name = "SEND_FLAG") + @ApiParam(value = "发送标志") + private String sendFlag; + + /** + * 处理类型:10=标准处理,20=自处理 + */ + @Column(name = "DISPOSAL_TYPE") + @ApiParam(value = "处理类型") + private String disposalType; + + @Column(name = "ALARM_DETAIL_CODE") + @ApiParam(value = "安灯子类型代码") + private String alarmDetailCode; + + @Column(name = "EPM_CODE") + @ApiParam(value = "事件现象代码") + private String epmCode; + + @Column(name = "EPM_NAME_RDD") + @ApiParam(value = "事件现象描述") + private String epmNameRdd; + + @Column(name = "IMPORTANCE_CODE") + @ApiParam(value = "重要等级代码") + private String importanceCode; + + @Column(name = "IMPORTANCE_NAME_RDD") + @ApiParam(value = "重要等级名称") + private String importanceNameRdd; + // 是否转呼 public Integer getIsShiftCall() { return this.isShiftCall == null ? 0 : this.isShiftCall; diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonAlarmDetailTypeRepository.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonAlarmDetailTypeRepository.java new file mode 100644 index 0000000..bdd6bab --- /dev/null +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/repository/IAndonAlarmDetailTypeRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.andon.repository; + +import cn.estsh.i3plus.pojo.andon.bean.AndonAlarmDetailType; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import org.springframework.stereotype.Repository; + +/** + * @Description : 对象持久层仓用方法控制(ANDON_子类型数据操作层) + * @Reference : + * @Author : sililter.yuan + * @CreateDate : 2019-05-30 11:05 + * @Modify: + **/ +@Repository +public interface IAndonAlarmDetailTypeRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java index 2566f56..cf21486 100644 --- a/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java +++ b/modules/i3plus-pojo-andon/src/main/java/cn.estsh.i3plus.pojo.andon/sqlpack/AndonHqlPack.java @@ -365,4 +365,20 @@ public class AndonHqlPack { return result; } + + /** + * 安灯子类型信息封装 + * @param andonAlarmDetailType + * @return + */ + public static DdlPackBean packAndonAlarmDetailType(AndonAlarmDetailType andonAlarmDetailType) { + DdlPackBean result = new DdlPackBean(); + + DdlPreparedPack.getStringEqualPack(andonAlarmDetailType.getAlarmCode(), "alarmCode", result); + DdlPreparedPack.getStringEqualPack(andonAlarmDetailType.getAlarmDetailCode(), "alarmDetailCode", result); + + getStringBuilderPack(andonAlarmDetailType, result); + + return result; + } } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java index 7a0e241..6b92130 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/AndonEnumUtil.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.pojo.base.enumutil; import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.StringUtils; /** * @Description : @@ -57,7 +58,8 @@ public class AndonEnumUtil { ALARM_FLAG("10","安灯呼叫标识"), USER_CODE("20","用户工号"), READ_FLAG("30", "安灯读取状态"), - STOP_FLAG("40", "停线状态"); + STOP_FLAG("40", "停线状态"), + DETAIL_TYPE("50", "安灯子类型"); private String value; private String description; @@ -214,6 +216,16 @@ public class AndonEnumUtil { public String getDescription() { return description; } + + public static String valueOfDescription(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (StringUtils.equalsIgnoreCase(values()[i].value, val)) { + tmp = values()[i].description; + } + } + return tmp; + } } /**