From bc3bdd669e1816d0db4fa915ab4a30757b22c5ab Mon Sep 17 00:00:00 2001 From: zhaoqing <3160641494@qq.com> Date: Tue, 23 Jun 2026 16:52:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E8=88=AC=E8=B4=B8=E6=98=93=E6=8E=A8?= =?UTF-8?q?=E9=80=81=EF=BC=8C=E4=BF=9D=E5=AD=98=E8=AF=A6=E6=83=85=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sinessDocumentOrderApplicationService.java | 36 +++++++++ .../entity/DocumentPushMaterialRecord.java | 77 +++++++++++++++++++ .../DocumentPushMaterialRecordMapper.java | 9 +++ .../DocumentPushMaterialRecordMapper.xml | 29 +++++++ 4 files changed, 151 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/entity/DocumentPushMaterialRecord.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/repository/mapper/DocumentPushMaterialRecordMapper.java create mode 100644 mhd_oms/src/main/resources/mapper/documentPushMaterialRecord/DocumentPushMaterialRecordMapper.xml diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java index d74bff3cc..6155328f3 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java @@ -23,6 +23,8 @@ import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder; import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper; import com.mhd.oms.domain.gwLog.entity.GwLog; import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper; +import com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord; +import com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper.DocumentPushMaterialRecordMapper; import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO; import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO; import com.mhd.system.api.model.LoginUser; @@ -88,6 +90,9 @@ public class BusinessDocumentOrderApplicationService { @Resource private ExecuteOrderMapper executeOrderMapper; + @Resource + private DocumentPushMaterialRecordMapper documentPushMaterialRecordMapper; + /** * 分页查询【请填写功能名称】列表 */ @@ -328,6 +333,37 @@ public class BusinessDocumentOrderApplicationService { if (dataCode != null && dataCode == 200) { gwLog.setStatus(2); updatePushStatus(order.getId(), 3, new Date(), String.valueOf(pushBy), pushByName); + // 推送成功,保存单证推送物料快照 + try { + Date now = new Date(); + for (BusinessDocumentCargoMulti cargo : cargoList) { + DocumentPushMaterialRecord docRecord = new DocumentPushMaterialRecord(); + docRecord.setOrderId(order.getId()); + docRecord.setMaterialBaseInfoId(cargo.getMaterialBaseInfoId()); + if (cargo.getMaterialBaseInfoId() != null) { + MaterialBaseInfoPO material = reservationStockInOrderMapper.getinfo(cargo.getMaterialBaseInfoId()); + if (material != null) { + docRecord.setMaterialCode(material.getMaterialCode()); + docRecord.setMaterialName(material.getMaterialName()); + docRecord.setGoodsType(material.getGoodsType()); + docRecord.setSpecificationModel(material.getSpecificationModel()); + docRecord.setDeclarationUnit(material.getDeclarationUnit()); + docRecord.setCurrency(material.getCurrency()); + docRecord.setUnitPrice(material.getUnitPrice()); + docRecord.setNetWeight(material.getWeightLimit()); + docRecord.setGrossWeight(material.getGrossWeight()); + } + } + docRecord.setPushTime(now); + docRecord.setDelFlag(1); + docRecord.setCreateBy(String.valueOf(pushBy)); + docRecord.setCreateTime(now); + docRecord.setUpdateTime(now); + documentPushMaterialRecordMapper.insert(docRecord); + } + } catch (Exception e) { + log.error("保存单证推送物料快照失败: orderId={}", order.getId(), e); + } successCount++; } else { gwLog.setStatus(3); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/entity/DocumentPushMaterialRecord.java b/mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/entity/DocumentPushMaterialRecord.java new file mode 100644 index 000000000..3d1052082 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/entity/DocumentPushMaterialRecord.java @@ -0,0 +1,77 @@ +package com.mhd.oms.domain.documentPushMaterialRecord.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ApiModel(value = "单证推送物料记录对象") +@TableName("document_push_material_record") +public class DocumentPushMaterialRecord implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("单证ID") + private Long orderId; + + @ApiModelProperty("物料ID") + private Long materialBaseInfoId; + + @ApiModelProperty("物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + private String materialName; + + @ApiModelProperty("规格型号") + private String specificationModel; + + @ApiModelProperty("申报单位") + private String declarationUnit; + + @ApiModelProperty("数量") + private BigDecimal cargoNum; + + @ApiModelProperty("币制") + private String currency; + + @ApiModelProperty("单价") + private BigDecimal unitPrice; + + @ApiModelProperty("净重(kg)") + private BigDecimal netWeight; + + @ApiModelProperty("毛重(kg)") + private BigDecimal grossWeight; + + @ApiModelProperty("商品类型(0物料,1半成品,2成品)") + private Integer goodsType; + + @ApiModelProperty("推送时间") + private Date pushTime; + + @ApiModelProperty("删除标志(1-正常,2-删除)") + private Integer delFlag; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("创建时间") + private Date createTime; + + @ApiModelProperty("更新人") + private String updateBy; + + @ApiModelProperty("更新时间") + private Date updateTime; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/repository/mapper/DocumentPushMaterialRecordMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/repository/mapper/DocumentPushMaterialRecordMapper.java new file mode 100644 index 000000000..0200ad48a --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/documentPushMaterialRecord/repository/mapper/DocumentPushMaterialRecordMapper.java @@ -0,0 +1,9 @@ +package com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DocumentPushMaterialRecordMapper extends BaseMapper { +} diff --git a/mhd_oms/src/main/resources/mapper/documentPushMaterialRecord/DocumentPushMaterialRecordMapper.xml b/mhd_oms/src/main/resources/mapper/documentPushMaterialRecord/DocumentPushMaterialRecordMapper.xml new file mode 100644 index 000000000..32f4dd43f --- /dev/null +++ b/mhd_oms/src/main/resources/mapper/documentPushMaterialRecord/DocumentPushMaterialRecordMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +