pda签名;

This commit is contained in:
高正杨
2026-08-07 20:46:54 +08:00
parent a66177e21b
commit 1c46de4fb7
2 changed files with 54 additions and 33 deletions
@@ -79,6 +79,27 @@ public interface ElectronicSignatureMapper extends BaseMapper<ElectronicSignatur
@Param("signatureRemark") String signatureRemark, @Param("signatureRemark") String signatureRemark,
@Param("signatureMode") Integer signatureMode); @Param("signatureMode") Integer signatureMode);
@Update("<script>"
+ "UPDATE NGWL_TEST_OMS.ELECTRONIC_SIGNATURE SET "
+ "SIGNATURE_STATUS = 2, "
+ "SIGNATURE_TIME = #{signatureTime}, "
+ "<if test='signaturePic != null and signaturePic != \"\"'>SIGNATURE_PIC = #{signaturePic}, </if>"
+ "<if test='evidencePics != null and evidencePics != \"\"'>EVIDENCE_PICS = #{evidencePics}, </if>"
+ "<if test='signatureRemark != null and signatureRemark != \"\"'>SIGNATURE_REMARK = #{signatureRemark}, </if>"
+ "<if test='signatureMode != null'>SIGNATURE_MODE = #{signatureMode}, </if>"
+ "UPDATE_TIME = #{signatureTime} "
+ "WHERE ORDER_ID IN "
+ "<foreach collection='signatureIds' item='id' open='(' separator=',' close=')'>#{id}</foreach>"
+ " AND DEL_FLAG = 1 AND SIGNATURE_STATUS = 1"
+ "</script>")
int batchUpdateSignByOrder(@Param("signatureIds") List<Long> signatureIds,
@Param("signatureTime") Date signatureTime,
@Param("signaturePic") String signaturePic,
@Param("evidencePics") String evidencePics,
@Param("signatureRemark") String signatureRemark,
@Param("signatureMode") Integer signatureMode);
/** /**
* 根据签名ID列表批量查询 * 根据签名ID列表批量查询
*/ */
@@ -250,7 +250,7 @@ public class ElectronicSignatureDomainService {
evidencePicsStr = String.join(",", dto.getEvidencePics()); evidencePicsStr = String.join(",", dto.getEvidencePics());
} }
int updated = electronicSignatureMapper.batchUpdateSign( int updated = electronicSignatureMapper.batchUpdateSignByOrder(
signatureIds, now, signatureIds, now,
dto.getSignaturePic(), dto.getSignaturePic(),
evidencePicsStr, evidencePicsStr,
@@ -259,38 +259,38 @@ public class ElectronicSignatureDomainService {
log.info("批量签名:OMS电子签名表更新 {} 条", updated); log.info("批量签名:OMS电子签名表更新 {} 条", updated);
// 3. 按订单类型分组,调用WMS更新入/出库表 // 3. 按订单类型分组,调用WMS更新入/出库表
if (wmsServiceFeign != null) { // if (wmsServiceFeign != null) {
try { // try {
// 分组:IN-入库、OUT-出库 // // 分组:IN-入库、OUT-出库
List<Long> inOrderIds = signatureList.stream() // List<Long> inOrderIds = signatureList.stream()
.filter(s -> "IN".equals(s.getOrderType())) // .filter(s -> "IN".equals(s.getOrderType()))
.map(ElectronicSignature::getOrderId) // .map(ElectronicSignature::getOrderId)
.distinct() // .distinct()
.collect(Collectors.toList()); // .collect(Collectors.toList());
List<Long> outOrderIds = signatureList.stream() // List<Long> outOrderIds = signatureList.stream()
.filter(s -> "OUT".equals(s.getOrderType())) // .filter(s -> "OUT".equals(s.getOrderType()))
.map(ElectronicSignature::getOrderId) // .map(ElectronicSignature::getOrderId)
.distinct() // .distinct()
.collect(Collectors.toList()); // .collect(Collectors.toList());
//
// 构建 WMS 批量签名 DTO(一次调用同时处理入库+出库) // // 构建 WMS 批量签名 DTO(一次调用同时处理入库+出库)
SignatureBatchFeignDTO wmsDto = new SignatureBatchFeignDTO(); // SignatureBatchFeignDTO wmsDto = new SignatureBatchFeignDTO();
wmsDto.setInOrderIds(inOrderIds.isEmpty() ? null : inOrderIds); // wmsDto.setInOrderIds(inOrderIds.isEmpty() ? null : inOrderIds);
wmsDto.setOutOrderIds(outOrderIds.isEmpty() ? null : outOrderIds); // wmsDto.setOutOrderIds(outOrderIds.isEmpty() ? null : outOrderIds);
wmsDto.setSignatureStatus(2); // wmsDto.setSignatureStatus(2);
wmsDto.setSignatureTime(now); // wmsDto.setSignatureTime(now);
wmsDto.setSignaturePic(dto.getSignaturePic()); // wmsDto.setSignaturePic(dto.getSignaturePic());
wmsDto.setEvidencePics(evidencePicsStr); // wmsDto.setEvidencePics(evidencePicsStr);
wmsDto.setSignatureRemark(dto.getSignatureRemark()); // wmsDto.setSignatureRemark(dto.getSignatureRemark());
//
log.info("批量签名:调用WMS更新入/出库单,入库{}条,出库{}条", // log.info("批量签名:调用WMS更新入/出库单,入库{}条,出库{}条",
inOrderIds.size(), outOrderIds.size()); // inOrderIds.size(), outOrderIds.size());
wmsServiceFeign.batchSignWms(wmsDto); // wmsServiceFeign.batchSignWms(wmsDto);
} catch (Exception e) { // } catch (Exception e) {
log.error("批量签名:调用WMS更新入/出库表失败", e); // log.error("批量签名:调用WMS更新入/出库表失败", e);
// WMS更新失败不影响OMS表更新结果,仅记录日志 // // WMS更新失败不影响OMS表更新结果,仅记录日志
} // }
} // }
return updated; return updated;
} }