From b0a4f046fd4f336b0c4a347dc2ae5a6646d860df Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Fri, 10 Oct 2025 17:34:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=96=99=E5=8D=95=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E4=BA=BA=E3=80=81=E6=8E=88=E6=9D=83=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/domain/BackApplyDetails.java | 6 ++ .../material/back/domain/BackApplyInfo.java | 6 ++ .../impl/BackApplyInfoServiceImpl.java | 76 ++++++++++++++----- .../lease/controller/LeaseTaskController.java | 9 +++ .../lease/mapper/LeaseTaskMapper.java | 7 ++ .../lease/service/ILeaseTaskService.java | 7 ++ .../service/impl/LeaseTaskServiceImpl.java | 20 +++++ .../material/back/BackApplyInfoMapper.xml | 5 +- .../mapper/material/lease/LeaseTaskMapper.xml | 8 ++ 9 files changed, 123 insertions(+), 21 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyDetails.java index 66d5ee88..a23d9448 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyDetails.java @@ -130,4 +130,10 @@ public class BackApplyDetails extends BaseEntity { private Long firstId; List maVos; + + @ApiModelProperty(value = "签名URL") + private String signUrl; + + @ApiModelProperty(value = "签名类型") + private int signType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java index 98329b21..2c735d32 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java @@ -5,6 +5,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; +import com.bonus.common.biz.domain.lease.LeaseOutSign; import com.fasterxml.jackson.annotation.JsonFormat; import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; @@ -221,4 +222,9 @@ public class BackApplyInfo implements Serializable { @ApiModelProperty(value = "制单人签名类型 手写0 和 图片上传1") private int signType; + + /** + * 审核签名集合 + */ + private List approveSignList; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index aa2573f1..f2234773 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.bonus.common.biz.constant.GlobalConstants; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.domain.TypeTreeNode; import com.bonus.common.biz.domain.lease.LeaseOutDetails; +import com.bonus.common.biz.domain.lease.LeaseOutSign; import com.bonus.common.biz.enums.*; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; @@ -119,16 +120,16 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { backApplyInfo.setUserId(userId == 0 ? null : userId); }*/ - // 设置审批人签名url,目前固定查询夏成刚签名信息 - BackApplyInfo info = backApplyInfoMapper.getDirectAuditUrl(backApplyInfo); - if (info != null && StringUtils.isNotBlank(info.getDirectAuditSignUrl())) { - backApplyInfo.setDirectAuditSignType(info.getDirectAuditSignType()); - if (!info.getDirectAuditSignUrl().startsWith("http")) { - backApplyInfo.setDirectAuditSignUrl("data:image/png;base64," + info.getDirectAuditSignUrl()); - } else { - backApplyInfo.setDirectAuditSignUrl(info.getDirectAuditSignUrl()); - } - } +// // 设置审批人签名url,目前固定查询夏成刚签名信息 +// BackApplyInfo info = backApplyInfoMapper.getDirectAuditUrl(backApplyInfo); +// if (info != null && StringUtils.isNotBlank(info.getDirectAuditSignUrl())) { +// backApplyInfo.setDirectAuditSignType(info.getDirectAuditSignType()); +// if (!info.getDirectAuditSignUrl().startsWith("http")) { +// backApplyInfo.setDirectAuditSignUrl("data:image/png;base64," + info.getDirectAuditSignUrl()); +// } else { +// backApplyInfo.setDirectAuditSignUrl(info.getDirectAuditSignUrl()); +// } +// } // 设置退料人签名url if (StringUtils.isNotBlank(backApplyInfo.getBackSignUrl())) { @@ -188,6 +189,23 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { processBackApplyDetailsSimple(details, typeNumMap, typeCodeMap, allFileInfoMap, newCodeList, maIdCodeMap); } + //获取审核人 + List approveSignList = backApplyDetailsList.stream() + .filter(detail -> detail.getSignUrl() != null) + .map(detail -> new LeaseOutSign(detail.getSignType(), detail.getSignUrl())) + .distinct() // 去重操作 + .collect(Collectors.toList()); + if (!org.springframework.util.CollectionUtils.isEmpty(approveSignList)) { + for (LeaseOutSign leaseOutSign : approveSignList) { + if (StringUtils.isNotBlank(leaseOutSign.getOutSignUrl())) { + if (!leaseOutSign.getOutSignUrl().startsWith("http")) { + leaseOutSign.setOutSignUrl("data:image/png;base64," + leaseOutSign.getOutSignUrl()); + } + } + } + backApplyRequestVo.getBackApplyInfo().setApproveSignList(approveSignList); + } + backApplyRequestVo.setBackApplyDetailsList(backApplyDetailsList); } @@ -224,16 +242,16 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { backApplyInfo.setUserId(userId == 0 ? null : userId); }*/ - // 设置审批人签名url,目前固定查询夏成刚签名信息 - BackApplyInfo info = backApplyInfoMapper.getDirectAuditUrl(backApplyInfo); - if (info != null && StringUtils.isNotBlank(info.getDirectAuditSignUrl())) { - backApplyInfo.setDirectAuditSignType(info.getDirectAuditSignType()); - if (!info.getDirectAuditSignUrl().startsWith("http")) { - backApplyInfo.setDirectAuditSignUrl("data:image/png;base64," + info.getDirectAuditSignUrl()); - } else { - backApplyInfo.setDirectAuditSignUrl(info.getDirectAuditSignUrl()); - } - } +// // 设置审批人签名url,目前固定查询夏成刚签名信息 +// BackApplyInfo info = backApplyInfoMapper.getDirectAuditUrl(backApplyInfo); +// if (info != null && StringUtils.isNotBlank(info.getDirectAuditSignUrl())) { +// backApplyInfo.setDirectAuditSignType(info.getDirectAuditSignType()); +// if (!info.getDirectAuditSignUrl().startsWith("http")) { +// backApplyInfo.setDirectAuditSignUrl("data:image/png;base64," + info.getDirectAuditSignUrl()); +// } else { +// backApplyInfo.setDirectAuditSignUrl(info.getDirectAuditSignUrl()); +// } +// } // 设置退料人签名url if (StringUtils.isNotBlank(backApplyInfo.getBackSignUrl())) { @@ -293,6 +311,24 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { processBackApplyDetailsSimple(details, typeNumMap, typeCodeMap, allFileInfoMap, newCodeList, maIdCodeMap); } + //获取审核人 + List approveSignList = backApplyDetailsList.stream() + .filter(detail -> detail.getSignUrl() != null) + .map(detail -> new LeaseOutSign(detail.getSignType(), detail.getSignUrl())) + .distinct() // 去重操作 + .collect(Collectors.toList()); + if (!org.springframework.util.CollectionUtils.isEmpty(approveSignList)) { + for (LeaseOutSign leaseOutSign : approveSignList) { + if (StringUtils.isNotBlank(leaseOutSign.getOutSignUrl())) { + if (!leaseOutSign.getOutSignUrl().startsWith("http")) { + leaseOutSign.setOutSignUrl("data:image/png;base64," + leaseOutSign.getOutSignUrl()); + } + } + } + backApplyRequestVo.getBackApplyInfo().setApproveSignList(approveSignList); + } + + backApplyRequestVo.setBackApplyDetailsList(backApplyDetailsList); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java index 0e1572ad..d3d72d51 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java @@ -284,6 +284,15 @@ public class LeaseTaskController extends BaseController { return success(service.selectLeaseApplyInfoById(id, keyWord)); } + /** + * 根据业务单号查询业务联系单 + */ + @ApiOperation(value = "根据业务单号查询业务联系单") + @GetMapping(value = "/getBusinessFormByCode") + public AjaxResult getBusinessFormByCode(LeaseApplyInfo leaseApplyInfo) { + return service.getBusinessFormByCode(leaseApplyInfo); + } + /** * 修改领用任务 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java index 848652be..6f1004b0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java @@ -342,4 +342,11 @@ public interface LeaseTaskMapper { * @return */ int deleteRecord(Integer recordId); + + /** + * 根据业务联系单号查询任务id + * @param leaseApplyInfo + * @return + */ + LeaseApplyInfo getIdByBusinessCode(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java index 04031e27..99dd1f7f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java @@ -171,5 +171,12 @@ public interface ILeaseTaskService { * @return */ AjaxResult revoke(LeaseApplyInfo leaseApplyInfo); + + /** + * 根据业务单号查询业务联系单 + * @param leaseApplyInfo + * @return + */ + AjaxResult getBusinessFormByCode(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 42d90c91..0e45e01f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -1407,6 +1407,26 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { } } + @Override + public AjaxResult getBusinessFormByCode(LeaseApplyInfo leaseApplyInfo) { + try { + //业务联系单号是否为空 + if (StringUtils.isEmpty(leaseApplyInfo.getBusinessCode())) { + return AjaxResult.error("业务联系单查询失败, 业务联系单号不能为空"); + } + //业务联系单号查出的数据是否为空 + LeaseApplyInfo leaseApplyInfo1 = mapper.getIdByBusinessCode(leaseApplyInfo); + if (leaseApplyInfo1 == null || leaseApplyInfo1.getId() == null) { + return AjaxResult.error("业务联系单查询失败, 业务联系单号不存在"); + } + LeaseApplyRequestVo leaseApplyRequestVo = selectLeaseApplyInfoById(leaseApplyInfo1.getId(), ""); + return AjaxResult.success(leaseApplyRequestVo); + } catch (Exception e) { + log.error("业务联系单查询失败:", e); + return AjaxResult.error("业务联系单查询失败"); + } + } + /** * 生成发布批次任务 * @param thisMonthMaxOrder diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 40ed1d85..f0ca5baa 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -213,7 +213,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bcd.create_time AS createTime, bcd.remark AS remark, mt.manage_type AS manageType, - mt3.type_id AS firstId + mt3.type_id AS firstId, + su.sign_url as signUrl, + su.sign_type as signType FROM back_check_details bcd LEFT JOIN back_apply_info bai ON bcd.parent_id = bai.id @@ -221,6 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id and mt1.del_flag = 0 LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id and mt2.del_flag = 0 LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id and mt3.del_flag = 0 + left join sys_user su on su.user_id = mt2.keep_user_id JOIN ma_type_repair mtr ON mtr.type_id = bcd.type_id AND mtr.user_id = #{userId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 2119b68c..b2f82b47 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -1315,4 +1315,12 @@ WHERE si.business_id= #{recordId} +