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()))); + } } }