diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
index 1aab5c1..69d90dc 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
@@ -30,19 +30,28 @@
if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) {
continue;
}
- String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString());
- if (StringUtils.isEmpty(name)) {
+
+ // 对以,拼接的字典值组合进行解析
+ String dictValueStr = field.get(object).toString();
+ String[] dictValueList = dictValueStr.split(",");
+ StringBuilder dictNames = new StringBuilder();
+ for (String dict : dictValueList) {
+ String name = dictService.getDictNameByCode(dictCodeField.cacheName(), dict);
+ if (!StringUtils.isEmpty(name)) {
+ dictNames.append(name).append(",");
+ }
+ }
+
+ if (StringUtils.isEmpty(dictNames.toString())) {
throw new BusinessException(500, dictCodeField.message());
}
String destFieldName = field.getName() + "Name";
Field destField = object.getClass().getDeclaredField(destFieldName);
- if (destField == null) {
- throw new BusinessException(500, "字典名称字段不存在");
- }
+
if (!destField.isAccessible()) {
destField.setAccessible(true);
}
- destField.set(object, name);
+ destField.set(object, dictNames.substring(0, dictNames.length() - 1));
}
}
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
index 1aab5c1..69d90dc 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
@@ -30,19 +30,28 @@
if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) {
continue;
}
- String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString());
- if (StringUtils.isEmpty(name)) {
+
+ // 对以,拼接的字典值组合进行解析
+ String dictValueStr = field.get(object).toString();
+ String[] dictValueList = dictValueStr.split(",");
+ StringBuilder dictNames = new StringBuilder();
+ for (String dict : dictValueList) {
+ String name = dictService.getDictNameByCode(dictCodeField.cacheName(), dict);
+ if (!StringUtils.isEmpty(name)) {
+ dictNames.append(name).append(",");
+ }
+ }
+
+ if (StringUtils.isEmpty(dictNames.toString())) {
throw new BusinessException(500, dictCodeField.message());
}
String destFieldName = field.getName() + "Name";
Field destField = object.getClass().getDeclaredField(destFieldName);
- if (destField == null) {
- throw new BusinessException(500, "字典名称字段不存在");
- }
+
if (!destField.isAccessible()) {
destField.setAccessible(true);
}
- destField.set(object, name);
+ destField.set(object, dictNames.substring(0, dictNames.length() - 1));
}
}
}
diff --git a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
index 554fe65..fbc6e2a 100644
--- a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
@@ -50,6 +50,12 @@
and create_time <= #{request.createTimeEnd}
+
+ and authorize_person_name like concat('%',#{request.authorizePersonName},'%')
+
+
+ and authorize_person_id like concat('%',#{request.authorizePersonId},'%')
+
and id in
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
index 1aab5c1..69d90dc 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
@@ -30,19 +30,28 @@
if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) {
continue;
}
- String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString());
- if (StringUtils.isEmpty(name)) {
+
+ // 对以,拼接的字典值组合进行解析
+ String dictValueStr = field.get(object).toString();
+ String[] dictValueList = dictValueStr.split(",");
+ StringBuilder dictNames = new StringBuilder();
+ for (String dict : dictValueList) {
+ String name = dictService.getDictNameByCode(dictCodeField.cacheName(), dict);
+ if (!StringUtils.isEmpty(name)) {
+ dictNames.append(name).append(",");
+ }
+ }
+
+ if (StringUtils.isEmpty(dictNames.toString())) {
throw new BusinessException(500, dictCodeField.message());
}
String destFieldName = field.getName() + "Name";
Field destField = object.getClass().getDeclaredField(destFieldName);
- if (destField == null) {
- throw new BusinessException(500, "字典名称字段不存在");
- }
+
if (!destField.isAccessible()) {
destField.setAccessible(true);
}
- destField.set(object, name);
+ destField.set(object, dictNames.substring(0, dictNames.length() - 1));
}
}
}
diff --git a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
index 554fe65..fbc6e2a 100644
--- a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
@@ -50,6 +50,12 @@
and create_time <= #{request.createTimeEnd}
+
+ and authorize_person_name like concat('%',#{request.authorizePersonName},'%')
+
+
+ and authorize_person_id like concat('%',#{request.authorizePersonId},'%')
+
and id in
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
index 53128d5..286e152 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
@@ -21,4 +21,8 @@
private String createTimeStart;
@ApiModelProperty(value = "创建时间结束", dataType = "String")
private String createTimeEnd;
+ @ApiModelProperty(value = "授权人ID", dataType = "String")
+ private String authorizePersonId;
+ @ApiModelProperty(value = "授权人名", dataType = "String")
+ private String authorizePersonName;
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
index 1aab5c1..69d90dc 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
@@ -30,19 +30,28 @@
if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) {
continue;
}
- String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString());
- if (StringUtils.isEmpty(name)) {
+
+ // 对以,拼接的字典值组合进行解析
+ String dictValueStr = field.get(object).toString();
+ String[] dictValueList = dictValueStr.split(",");
+ StringBuilder dictNames = new StringBuilder();
+ for (String dict : dictValueList) {
+ String name = dictService.getDictNameByCode(dictCodeField.cacheName(), dict);
+ if (!StringUtils.isEmpty(name)) {
+ dictNames.append(name).append(",");
+ }
+ }
+
+ if (StringUtils.isEmpty(dictNames.toString())) {
throw new BusinessException(500, dictCodeField.message());
}
String destFieldName = field.getName() + "Name";
Field destField = object.getClass().getDeclaredField(destFieldName);
- if (destField == null) {
- throw new BusinessException(500, "字典名称字段不存在");
- }
+
if (!destField.isAccessible()) {
destField.setAccessible(true);
}
- destField.set(object, name);
+ destField.set(object, dictNames.substring(0, dictNames.length() - 1));
}
}
}
diff --git a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
index 554fe65..fbc6e2a 100644
--- a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
@@ -50,6 +50,12 @@
and create_time <= #{request.createTimeEnd}
+
+ and authorize_person_name like concat('%',#{request.authorizePersonName},'%')
+
+
+ and authorize_person_id like concat('%',#{request.authorizePersonId},'%')
+
and id in
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
index 53128d5..286e152 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
@@ -21,4 +21,8 @@
private String createTimeStart;
@ApiModelProperty(value = "创建时间结束", dataType = "String")
private String createTimeEnd;
+ @ApiModelProperty(value = "授权人ID", dataType = "String")
+ private String authorizePersonId;
+ @ApiModelProperty(value = "授权人名", dataType = "String")
+ private String authorizePersonName;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java
index d988b3c..741c78a 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java
@@ -109,9 +109,9 @@
/**
* 授权人名id
*/
- @ApiModelProperty(value = "授权人名id", dataType = "Long",required = true)
+ @ApiModelProperty(value = "授权人名id", dataType = "String",required = true)
@TableField("authorize_person_id")
- private Long authorizePersonId;
+ private String authorizePersonId;
/**
* 授权地点
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
index 1aab5c1..69d90dc 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java
@@ -30,19 +30,28 @@
if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) {
continue;
}
- String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString());
- if (StringUtils.isEmpty(name)) {
+
+ // 对以,拼接的字典值组合进行解析
+ String dictValueStr = field.get(object).toString();
+ String[] dictValueList = dictValueStr.split(",");
+ StringBuilder dictNames = new StringBuilder();
+ for (String dict : dictValueList) {
+ String name = dictService.getDictNameByCode(dictCodeField.cacheName(), dict);
+ if (!StringUtils.isEmpty(name)) {
+ dictNames.append(name).append(",");
+ }
+ }
+
+ if (StringUtils.isEmpty(dictNames.toString())) {
throw new BusinessException(500, dictCodeField.message());
}
String destFieldName = field.getName() + "Name";
Field destField = object.getClass().getDeclaredField(destFieldName);
- if (destField == null) {
- throw new BusinessException(500, "字典名称字段不存在");
- }
+
if (!destField.isAccessible()) {
destField.setAccessible(true);
}
- destField.set(object, name);
+ destField.set(object, dictNames.substring(0, dictNames.length() - 1));
}
}
}
diff --git a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
index 554fe65..fbc6e2a 100644
--- a/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/resource/BizResourceAuthorizeOrderMapper.xml
@@ -50,6 +50,12 @@
and create_time <= #{request.createTimeEnd}
+
+ and authorize_person_name like concat('%',#{request.authorizePersonName},'%')
+
+
+ and authorize_person_id like concat('%',#{request.authorizePersonId},'%')
+
and id in
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
index 53128d5..286e152 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/resource/staff/AuthorizeOrderApprovalListRequest.java
@@ -21,4 +21,8 @@
private String createTimeStart;
@ApiModelProperty(value = "创建时间结束", dataType = "String")
private String createTimeEnd;
+ @ApiModelProperty(value = "授权人ID", dataType = "String")
+ private String authorizePersonId;
+ @ApiModelProperty(value = "授权人名", dataType = "String")
+ private String authorizePersonName;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java
index d988b3c..741c78a 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/resource/BizResourceAuthorizeOrder.java
@@ -109,9 +109,9 @@
/**
* 授权人名id
*/
- @ApiModelProperty(value = "授权人名id", dataType = "Long",required = true)
+ @ApiModelProperty(value = "授权人名id", dataType = "String",required = true)
@TableField("authorize_person_id")
- private Long authorizePersonId;
+ private String authorizePersonId;
/**
* 授权地点
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/AuthorizeOrderEventPostProcessor.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/AuthorizeOrderEventPostProcessor.java
index e3f20f6..81b048b 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/AuthorizeOrderEventPostProcessor.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/AuthorizeOrderEventPostProcessor.java
@@ -11,6 +11,7 @@
import com.casic.missiles.model.resource.BizResourceAuthorizeOrder;
import com.casic.missiles.model.resource.BizResourceStaffAuthorize;
import com.casic.missiles.service.listeners.NotifyEventPostProcessor;
+import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -45,12 +46,21 @@
log.error("授权(代理)委托书审批通过后处理失败");
throw new BusinessException(BusinessExceptionEnum.APPROVAL_PROCESSOR_HANDLE_FAILED);
}
+
//写入审批通过后关联授权信息
authorizeOrder = authorizeOrderMapper.selectById(id);
- if (null != authorizeOrder)
- authorizeMapper.insert(new BizResourceStaffAuthorize(authorizeOrder.getAuthorizePersonId(),
- authorizeOrder.getAuthorizeDuty(),authorizeOrder.getAuthorizeDuty(),
- authorizeOrder.getPdfUrl(),authorizeOrder.getValidDate(),authorizeOrder.getOrderDate(),"0"));
+ try {
+ DictCodeUtils.convertDictCodeToName(authorizeOrder);
+ } catch (Exception ignored) {
+
+ }
+ String authorizePersonIds = authorizeOrder.getAuthorizePersonId();
+ String[] idList = authorizePersonIds.split(",");
+ for (String staffId : idList) {
+ authorizeMapper.insert(new BizResourceStaffAuthorize(Long.parseLong(staffId),
+ authorizeOrder.getAuthorizeDutyName(), authorizeOrder.getAuthorizeDutyName(),
+ authorizeOrder.getOrderNo(), authorizeOrder.getValidDate(), authorizeOrder.getOrderDate(), String.valueOf(authorizeOrder.getId())));
+ }
}
}