From 708814967ef19f315d1b102a3f9af40d7f2cbf60 Mon Sep 17 00:00:00 2001 From: xins Date: Thu, 16 May 2024 17:27:37 +0800 Subject: [PATCH] =?UTF-8?q?2.2.2=20MES=EF=BC=9A=E9=87=87=E8=B4=AD=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=BB=91=E5=AE=9A=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesPurchaseOrderController.java | 32 +- .../java/com/hw/mes/domain/MesOrderBind.java | 211 ++++++++++ .../com/hw/mes/domain/MesPurchaseOrder.java | 342 ++++++++++------ .../hw/mes/mapper/MesPurchaseOrderMapper.java | 45 ++- .../mes/service/IMesPurchaseOrderService.java | 26 +- .../impl/MesPurchaseOrderServiceImpl.java | 105 ++++- .../mapper/mes/MesPurchaseOrderMapper.xml | 82 +++- hw-ui/src/api/mes/purchaseOrder.js | 23 ++ hw-ui/src/router/index.js | 14 + .../src/views/mes/purchaseOrder/bindOrder.vue | 325 +++++++++++++++ hw-ui/src/views/mes/purchaseOrder/index.vue | 380 +++++------------- .../mes/purchaseOrder/selectSaleOrder.vue | 209 ++++++++++ 12 files changed, 1361 insertions(+), 433 deletions(-) create mode 100644 hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesOrderBind.java create mode 100644 hw-ui/src/views/mes/purchaseOrder/bindOrder.vue create mode 100644 hw-ui/src/views/mes/purchaseOrder/selectSaleOrder.vue diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesPurchaseOrderController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesPurchaseOrderController.java index 3cf3f05d..d92b4a94 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesPurchaseOrderController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesPurchaseOrderController.java @@ -3,6 +3,9 @@ package com.hw.mes.controller; import java.util.List; import java.io.IOException; import javax.servlet.http.HttpServletResponse; + +import com.hw.mes.domain.MesSaleOrder; +import com.hw.mes.service.IMesSaleOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -24,7 +27,7 @@ import com.hw.common.core.web.page.TableDataInfo; /** * 采购订单信息Controller - * + * * @author Yinq * @date 2024-02-19 */ @@ -35,6 +38,9 @@ public class MesPurchaseOrderController extends BaseController @Autowired private IMesPurchaseOrderService mesPurchaseOrderService; + @Autowired + private IMesSaleOrderService mesSaleOrderService; + /** * 查询采购订单信息列表 */ @@ -102,4 +108,28 @@ public class MesPurchaseOrderController extends BaseController { return toAjax(mesPurchaseOrderService.deleteMesPurchaseOrderByPurchaseOrderIds(purchaseOrderIds)); } + + + /** + * 获取销售订单信息 + */ + @RequiresPermissions("mes:purchaseOrder:bind") + @GetMapping(value = "/getSaleOrders") + public AjaxResult getSaleOrders(MesSaleOrder querySaleOrder) + { + return success(mesSaleOrderService.selectMesSaleOrderList(querySaleOrder)); + } + + + /** + * 绑定采购订单信息 + */ + @RequiresPermissions("mes:purchaseOrder:bind") + @Log(title = "采购订单信息", businessType = BusinessType.BIND) + @PostMapping(value = "/bindOrder") + public AjaxResult bingOrder(@RequestBody MesPurchaseOrder mesPurchaseOrder) + { + return toAjax(mesPurchaseOrderService.bindOrder(mesPurchaseOrder)); + } + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesOrderBind.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesOrderBind.java new file mode 100644 index 00000000..051e6764 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesOrderBind.java @@ -0,0 +1,211 @@ +package com.hw.mes.domain; + +import java.math.BigDecimal; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; + +/** + * 采购销售订单绑定信息对象 mes_order_bind + * + * @author xins + * @date 2024-05-16 + */ +public class MesOrderBind extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键标识 */ + private Long orderBindId; + + /** 安全库存标识(1是,0否) */ + @Excel(name = "安全库存标识(1是,0否)") + private String safeFlag; + + /** 销售订单ID;对应FID */ + @Excel(name = "销售订单ID;对应FID") + private Long saleOrderId; + + /** 销售订单编号 */ + @Excel(name = "销售订单编号") + private String saleOrderCode; + + /** ERP成品ID */ + @Excel(name = "ERP成品ID") + private Long productId; + + /** 成品编号 */ + @Excel(name = "成品编号") + private String productCode; + + /** 成品名称 */ + @Excel(name = "成品名称") + private String productName; + + /** 采购订单ID */ + @Excel(name = "采购订单ID") + private Long purchaseOrderId; + + /** 采购订单编号 */ + @Excel(name = "采购订单编号") + private String poNo; + + /** ERP物料ID */ + @Excel(name = "ERP物料ID") + private Long materialId; + + /** 物料编号 */ + @Excel(name = "物料编号") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 绑定数量 */ + @Excel(name = "绑定数量") + private BigDecimal bindAmount; + + public void setOrderBindId(Long orderBindId) + { + this.orderBindId = orderBindId; + } + + public Long getOrderBindId() + { + return orderBindId; + } + public void setSafeFlag(String safeFlag) + { + this.safeFlag = safeFlag; + } + + public String getSafeFlag() + { + return safeFlag; + } + public void setSaleOrderId(Long saleOrderId) + { + this.saleOrderId = saleOrderId; + } + + public Long getSaleOrderId() + { + return saleOrderId; + } + public void setSaleOrderCode(String saleOrderCode) + { + this.saleOrderCode = saleOrderCode; + } + + public String getSaleOrderCode() + { + return saleOrderCode; + } + public void setProductId(Long productId) + { + this.productId = productId; + } + + public Long getProductId() + { + return productId; + } + public void setProductCode(String productCode) + { + this.productCode = productCode; + } + + public String getProductCode() + { + return productCode; + } + public void setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + public void setPurchaseOrderId(Long purchaseOrderId) + { + this.purchaseOrderId = purchaseOrderId; + } + + public Long getPurchaseOrderId() + { + return purchaseOrderId; + } + public void setPoNo(String poNo) + { + this.poNo = poNo; + } + + public String getPoNo() + { + return poNo; + } + public void setMaterialId(Long materialId) + { + this.materialId = materialId; + } + + public Long getMaterialId() + { + return materialId; + } + public void setMaterialCode(String materialCode) + { + this.materialCode = materialCode; + } + + public String getMaterialCode() + { + return materialCode; + } + public void setMaterialName(String materialName) + { + this.materialName = materialName; + } + + public String getMaterialName() + { + return materialName; + } + public void setBindAmount(BigDecimal bindAmount) + { + this.bindAmount = bindAmount; + } + + public BigDecimal getBindAmount() + { + return bindAmount; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("orderBindId", getOrderBindId()) + .append("safeFlag", getSafeFlag()) + .append("saleOrderId", getSaleOrderId()) + .append("saleOrderCode", getSaleOrderCode()) + .append("productId", getProductId()) + .append("productCode", getProductCode()) + .append("productName", getProductName()) + .append("purchaseOrderId", getPurchaseOrderId()) + .append("poNo", getPoNo()) + .append("materialId", getMaterialId()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("bindAmount", getBindAmount()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesPurchaseOrder.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesPurchaseOrder.java index 1415152c..ce216e68 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesPurchaseOrder.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesPurchaseOrder.java @@ -2,6 +2,7 @@ package com.hw.mes.domain; import java.math.BigDecimal; import java.util.Date; +import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -18,266 +19,366 @@ import com.hw.common.core.web.domain.BaseEntity; public class MesPurchaseOrder extends BaseEntity { private static final long serialVersionUID = 1L; - /** - * 主键标识 - */ + /** 主键标识 */ private Long purchaseOrderId; - /** - * ERP主键信息;对应FID - */ - @Excel(name = "ERP主键信息") + /** ERP的主键信息;对应FID */ + @Excel(name = "ERP的主键信息;对应FID") private Long erpId; - /** - * 金蝶ERP订单明细ID;对应FPOOrderEntry.FEntryID - */ - @Excel(name = "金蝶ERP订单明细ID") + /** 对应金蝶ERP订单明细的ID;对应FPOOrderEntry.FEntryID */ + @Excel(name = "对应金蝶ERP订单明细的ID;对应FPOOrderEntry.FEntryID") private Long fentryId; - /** - * 采购订单编号;对应FBillNo - */ - @Excel(name = "采购订单编号") + /** 采购订单编号;对应FBillNo */ + @Excel(name = "采购订单编号;对应FBillNo") private String poNo; - /** - * 单据状态;FDocumentStatus - */ - @Excel(name = "单据状态") + /** 单据状态;FDocumentStatus */ + @Excel(name = "单据状态;FDocumentStatus") private String documentStatus; - /** - * 物料ID,关联物料信息主键 - */ - @Excel(name = "物料ID") + /** 物料ID,关联物料信息主键 */ + @Excel(name = "物料ID,关联物料信息主键") private Long materialId; - /** - * 物料编码;对应FMaterialId.FNumber - */ - @Excel(name = "物料编码") + /** 物料编码;对应FMaterialId.FNumber */ + @Excel(name = "物料编码;对应FMaterialId.FNumber") private String materialCode; - /** - * 物料名称;对应FMaterialId.FName - */ - @Excel(name = "物料名称") + /** 物料名称;对应FMaterialId.FName */ + @Excel(name = "物料名称;对应FMaterialId.FName") private String materialName; - /** - * 订单计划数量;对应FQty - */ - @Excel(name = "订单计划数量") + /** 订单计划数量;对应FQty */ + @Excel(name = "订单计划数量;对应FQty") private BigDecimal orderAmount; - /** - * 完成采购数量 - */ + /** 完成采购数量 */ @Excel(name = "完成采购数量") private BigDecimal completeAmount; - /** - * 审核日期;对应FApproveDate - */ + /** 审核日期;对应FApproveDate */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "审核日期;对应FApproveDate", width = 30, dateFormat = "yyyy-MM-dd") private Date approveDate; - /** - * ERP最后修改日期;对应FModifyDate - */ + /** ERP最后修改日期;对应FModifyDate */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "ERP最后修改日期;对应FModifyDate", width = 30, dateFormat = "yyyy-MM-dd") private Date erpModifyDate; - /** - * 计划交货日期;对应FDeliveryDate - */ + /** 计划交货日期;对应FDeliveryDate */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "计划交货日期;对应FDeliveryDate", width = 30, dateFormat = "yyyy-MM-dd") private Date planDeliveryDate; - /** - * 计划开始日期 - */ + /** 计划开始日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd") private Date beginDate; - /** - * 计划结束日期 - */ + /** 计划结束日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd") private Date endDate; - /** - * 订单状态(1待采购2采购中3采购完成) - */ + /** 订单状态(1待采购2采购中3采购完成) */ @Excel(name = "订单状态(1待采购2采购中3采购完成)") private String orderStatus; - /** - * 完成日期 - */ + /** 完成日期 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "完成日期", width = 30, dateFormat = "yyyy-MM-dd") private Date completeDate; - /** - * 是否标识:1-是;0-否 - */ + /** 是否标识:1-是;0-否 */ @Excel(name = "是否标识:1-是;0-否") private String isFlag; - public void setPurchaseOrderId(Long purchaseOrderId) { + /** 采购单位;FUnitId */ + @Excel(name = "采购单位;FUnitId") + private Long unitId; + + /** 库存单位;FStockUnitID */ + @Excel(name = "库存单位;FStockUnitID") + private Long stockUnitId; + + /** 计价单位;FPriceUnitID */ + @Excel(name = "计价单位;FPriceUnitID") + private Long priceUnitId; + + /** 辅助属性;FAuxPropId */ + @Excel(name = "辅助属性;FAuxPropId") + private Long auxPropId; + + /** 源单编号;FSrcBillNo */ + @Excel(name = "源单编号;FSrcBillNo") + private String srcBillNo; + + /** 采购组织;FPurchaseOrgId */ + @Excel(name = "采购组织;FPurchaseOrgId") + private Long purchaseOrgId; + + /** 京源项目;F_TOND_Base */ + @Excel(name = "京源项目;F_TOND_Base") + private String tondBase; + + /** 供应商ID;FSupplierId */ + @Excel(name = "供应商ID;FSupplierId") + private Long supplierId; + + /** 采购销售订单绑定信息信息 */ + private List mesOrderBindList; + + public void setPurchaseOrderId(Long purchaseOrderId) + { this.purchaseOrderId = purchaseOrderId; } - public Long getPurchaseOrderId() { + public Long getPurchaseOrderId() + { return purchaseOrderId; } - - public void setErpId(Long erpId) { + public void setErpId(Long erpId) + { this.erpId = erpId; } - public Long getErpId() { + public Long getErpId() + { return erpId; } - - public void setFentryId(Long fentryId) { + public void setFentryId(Long fentryId) + { this.fentryId = fentryId; } - public Long getFentryId() { + public Long getFentryId() + { return fentryId; } - - public void setPoNo(String poNo) { + public void setPoNo(String poNo) + { this.poNo = poNo; } - public String getPoNo() { + public String getPoNo() + { return poNo; } - - public void setDocumentStatus(String documentStatus) { + public void setDocumentStatus(String documentStatus) + { this.documentStatus = documentStatus; } - public String getDocumentStatus() { + public String getDocumentStatus() + { return documentStatus; } - - public void setMaterialId(Long materialId) { + public void setMaterialId(Long materialId) + { this.materialId = materialId; } - public Long getMaterialId() { + public Long getMaterialId() + { return materialId; } - - public void setMaterialCode(String materialCode) { + public void setMaterialCode(String materialCode) + { this.materialCode = materialCode; } - public String getMaterialCode() { + public String getMaterialCode() + { return materialCode; } - - public void setMaterialName(String materialName) { + public void setMaterialName(String materialName) + { this.materialName = materialName; } - public String getMaterialName() { + public String getMaterialName() + { return materialName; } - - public void setOrderAmount(BigDecimal orderAmount) { + public void setOrderAmount(BigDecimal orderAmount) + { this.orderAmount = orderAmount; } - public BigDecimal getOrderAmount() { + public BigDecimal getOrderAmount() + { return orderAmount; } - - public void setCompleteAmount(BigDecimal completeAmount) { + public void setCompleteAmount(BigDecimal completeAmount) + { this.completeAmount = completeAmount; } - public BigDecimal getCompleteAmount() { + public BigDecimal getCompleteAmount() + { return completeAmount; } - - public void setApproveDate(Date approveDate) { + public void setApproveDate(Date approveDate) + { this.approveDate = approveDate; } - public Date getApproveDate() { + public Date getApproveDate() + { return approveDate; } - - public void setErpModifyDate(Date erpModifyDate) { + public void setErpModifyDate(Date erpModifyDate) + { this.erpModifyDate = erpModifyDate; } - public Date getErpModifyDate() { + public Date getErpModifyDate() + { return erpModifyDate; } - - public void setPlanDeliveryDate(Date planDeliveryDate) { + public void setPlanDeliveryDate(Date planDeliveryDate) + { this.planDeliveryDate = planDeliveryDate; } - public Date getPlanDeliveryDate() { + public Date getPlanDeliveryDate() + { return planDeliveryDate; } - - public void setBeginDate(Date beginDate) { + public void setBeginDate(Date beginDate) + { this.beginDate = beginDate; } - public Date getBeginDate() { + public Date getBeginDate() + { return beginDate; } - - public void setEndDate(Date endDate) { + public void setEndDate(Date endDate) + { this.endDate = endDate; } - public Date getEndDate() { + public Date getEndDate() + { return endDate; } - - public void setOrderStatus(String orderStatus) { + public void setOrderStatus(String orderStatus) + { this.orderStatus = orderStatus; } - public String getOrderStatus() { + public String getOrderStatus() + { return orderStatus; } - - public void setCompleteDate(Date completeDate) { + public void setCompleteDate(Date completeDate) + { this.completeDate = completeDate; } - public Date getCompleteDate() { + public Date getCompleteDate() + { return completeDate; } - - public void setIsFlag(String isFlag) { + public void setIsFlag(String isFlag) + { this.isFlag = isFlag; } - public String getIsFlag() { + public String getIsFlag() + { return isFlag; } + public void setUnitId(Long unitId) + { + this.unitId = unitId; + } + + public Long getUnitId() + { + return unitId; + } + public void setStockUnitId(Long stockUnitId) + { + this.stockUnitId = stockUnitId; + } + + public Long getStockUnitId() + { + return stockUnitId; + } + public void setPriceUnitId(Long priceUnitId) + { + this.priceUnitId = priceUnitId; + } + + public Long getPriceUnitId() + { + return priceUnitId; + } + public void setAuxPropId(Long auxPropId) + { + this.auxPropId = auxPropId; + } + + public Long getAuxPropId() + { + return auxPropId; + } + public void setSrcBillNo(String srcBillNo) + { + this.srcBillNo = srcBillNo; + } + + public String getSrcBillNo() + { + return srcBillNo; + } + public void setPurchaseOrgId(Long purchaseOrgId) + { + this.purchaseOrgId = purchaseOrgId; + } + + public Long getPurchaseOrgId() + { + return purchaseOrgId; + } + public void setTondBase(String tondBase) + { + this.tondBase = tondBase; + } + + public String getTondBase() + { + return tondBase; + } + public void setSupplierId(Long supplierId) + { + this.supplierId = supplierId; + } + + public Long getSupplierId() + { + return supplierId; + } + + public List getMesOrderBindList() + { + return mesOrderBindList; + } + + public void setMesOrderBindList(List mesOrderBindList) + { + this.mesOrderBindList = mesOrderBindList; + } @Override public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("purchaseOrderId", getPurchaseOrderId()) .append("erpId", getErpId()) .append("fentryId", getFentryId()) @@ -296,11 +397,20 @@ public class MesPurchaseOrder extends BaseEntity { .append("orderStatus", getOrderStatus()) .append("completeDate", getCompleteDate()) .append("isFlag", getIsFlag()) + .append("unitId", getUnitId()) + .append("stockUnitId", getStockUnitId()) + .append("priceUnitId", getPriceUnitId()) + .append("auxPropId", getAuxPropId()) + .append("srcBillNo", getSrcBillNo()) + .append("purchaseOrgId", getPurchaseOrgId()) + .append("tondBase", getTondBase()) + .append("supplierId", getSupplierId()) .append("remark", getRemark()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) + .append("mesOrderBindList", getMesOrderBindList()) .toString(); } } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesPurchaseOrderMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesPurchaseOrderMapper.java index 9832e9d3..ad13aad0 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesPurchaseOrderMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesPurchaseOrderMapper.java @@ -1,19 +1,21 @@ package com.hw.mes.mapper; import java.util.List; + +import com.hw.mes.domain.MesOrderBind; import com.hw.mes.domain.MesPurchaseOrder; /** * 采购订单信息Mapper接口 - * + * * @author Yinq * @date 2024-02-19 */ -public interface MesPurchaseOrderMapper +public interface MesPurchaseOrderMapper { /** * 查询采购订单信息 - * + * * @param purchaseOrderId 采购订单信息主键 * @return 采购订单信息 */ @@ -21,7 +23,7 @@ public interface MesPurchaseOrderMapper /** * 查询采购订单信息列表 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 采购订单信息集合 */ @@ -29,7 +31,7 @@ public interface MesPurchaseOrderMapper /** * 新增采购订单信息 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 结果 */ @@ -37,7 +39,7 @@ public interface MesPurchaseOrderMapper /** * 修改采购订单信息 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 结果 */ @@ -45,7 +47,7 @@ public interface MesPurchaseOrderMapper /** * 删除采购订单信息 - * + * * @param purchaseOrderId 采购订单信息主键 * @return 结果 */ @@ -53,9 +55,36 @@ public interface MesPurchaseOrderMapper /** * 批量删除采购订单信息 - * + * * @param purchaseOrderIds 需要删除的数据主键集合 * @return 结果 */ public int deleteMesPurchaseOrderByPurchaseOrderIds(Long[] purchaseOrderIds); + + + /** + * 批量新增采购销售订单绑定信息;销售订单绑定采购订单明细信息 + * + * @param mesOrderBindList 采购销售订单绑定信息;销售订单绑定采购订单明细信息列表 + * @return 结果 + */ + public int batchMesOrderBind(List mesOrderBindList); + + + /** + * 通过采购订单信息主键删除采购销售订单绑定信息;销售订单绑定采购订单明细信息信息 + * + * @param purchaseOrderId 采购订单信息ID + * @return 结果 + */ + public int deleteMesOrderBindByPurchaseOrderId(Long purchaseOrderId); + + + /** + * 批量删除采购销售订单绑定信息 + * + * @param orderBindIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesOrderBindByOrderBindIds(Long[] orderBindIds); } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesPurchaseOrderService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesPurchaseOrderService.java index 22a14acd..c5ccebc8 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesPurchaseOrderService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesPurchaseOrderService.java @@ -5,15 +5,15 @@ import com.hw.mes.domain.MesPurchaseOrder; /** * 采购订单信息Service接口 - * + * * @author Yinq * @date 2024-02-19 */ -public interface IMesPurchaseOrderService +public interface IMesPurchaseOrderService { /** * 查询采购订单信息 - * + * * @param purchaseOrderId 采购订单信息主键 * @return 采购订单信息 */ @@ -21,7 +21,7 @@ public interface IMesPurchaseOrderService /** * 查询采购订单信息列表 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 采购订单信息集合 */ @@ -29,7 +29,7 @@ public interface IMesPurchaseOrderService /** * 新增采购订单信息 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 结果 */ @@ -37,7 +37,7 @@ public interface IMesPurchaseOrderService /** * 修改采购订单信息 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 结果 */ @@ -45,7 +45,7 @@ public interface IMesPurchaseOrderService /** * 批量删除采购订单信息 - * + * * @param purchaseOrderIds 需要删除的采购订单信息主键集合 * @return 结果 */ @@ -53,9 +53,19 @@ public interface IMesPurchaseOrderService /** * 删除采购订单信息信息 - * + * * @param purchaseOrderId 采购订单信息主键 * @return 结果 */ public int deleteMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId); + + + /** + * 绑定采购订单信息 + * + * @param mesPurchaseOrder 采购订单信息 + * @return 结果 + */ + public int bindOrder(MesPurchaseOrder mesPurchaseOrder); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesPurchaseOrderServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesPurchaseOrderServiceImpl.java index 87bd9375..a868be8a 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesPurchaseOrderServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesPurchaseOrderServiceImpl.java @@ -1,96 +1,159 @@ package com.hw.mes.service.impl; +import java.math.BigDecimal; +import java.util.Date; import java.util.List; + +import com.hw.common.core.constant.MesConstants; +import com.hw.common.core.exception.ServiceException; import com.hw.common.core.utils.DateUtils; +import com.hw.common.core.utils.StringUtils; +import com.hw.common.security.utils.SecurityUtils; +import com.hw.mes.domain.MesOrderBind; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hw.mes.mapper.MesPurchaseOrderMapper; import com.hw.mes.domain.MesPurchaseOrder; import com.hw.mes.service.IMesPurchaseOrderService; +import org.springframework.transaction.annotation.Transactional; /** * 采购订单信息Service业务层处理 - * + * * @author Yinq * @date 2024-02-19 */ @Service -public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService -{ +public class MesPurchaseOrderServiceImpl implements IMesPurchaseOrderService { @Autowired private MesPurchaseOrderMapper mesPurchaseOrderMapper; /** * 查询采购订单信息 - * + * * @param purchaseOrderId 采购订单信息主键 * @return 采购订单信息 */ @Override - public MesPurchaseOrder selectMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId) - { + public MesPurchaseOrder selectMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId) { return mesPurchaseOrderMapper.selectMesPurchaseOrderByPurchaseOrderId(purchaseOrderId); } /** * 查询采购订单信息列表 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 采购订单信息 */ @Override - public List selectMesPurchaseOrderList(MesPurchaseOrder mesPurchaseOrder) - { + public List selectMesPurchaseOrderList(MesPurchaseOrder mesPurchaseOrder) { return mesPurchaseOrderMapper.selectMesPurchaseOrderList(mesPurchaseOrder); } /** * 新增采购订单信息 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 结果 */ @Override - public int insertMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder) - { + public int insertMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder) { mesPurchaseOrder.setCreateTime(DateUtils.getNowDate()); return mesPurchaseOrderMapper.insertMesPurchaseOrder(mesPurchaseOrder); } /** * 修改采购订单信息 - * + * * @param mesPurchaseOrder 采购订单信息 * @return 结果 */ @Override - public int updateMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder) - { + public int updateMesPurchaseOrder(MesPurchaseOrder mesPurchaseOrder) { mesPurchaseOrder.setUpdateTime(DateUtils.getNowDate()); return mesPurchaseOrderMapper.updateMesPurchaseOrder(mesPurchaseOrder); } /** * 批量删除采购订单信息 - * + * * @param purchaseOrderIds 需要删除的采购订单信息主键 * @return 结果 */ @Override - public int deleteMesPurchaseOrderByPurchaseOrderIds(Long[] purchaseOrderIds) - { + public int deleteMesPurchaseOrderByPurchaseOrderIds(Long[] purchaseOrderIds) { return mesPurchaseOrderMapper.deleteMesPurchaseOrderByPurchaseOrderIds(purchaseOrderIds); } /** * 删除采购订单信息信息 - * + * * @param purchaseOrderId 采购订单信息主键 * @return 结果 */ @Override - public int deleteMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId) - { + public int deleteMesPurchaseOrderByPurchaseOrderId(Long purchaseOrderId) { return mesPurchaseOrderMapper.deleteMesPurchaseOrderByPurchaseOrderId(purchaseOrderId); } + + + /** + * 绑定采购订单信息 + * + * @param mesPurchaseOrder 采购订单信息 + * @return 结果 + */ + @Override + @Transactional + public int bindOrder(MesPurchaseOrder mesPurchaseOrder) { + mesPurchaseOrderMapper.deleteMesOrderBindByPurchaseOrderId(mesPurchaseOrder.getPurchaseOrderId()); + + Date currentDate = new Date(); + String userName = SecurityUtils.getUsername(); + Long purchaseOrderId = mesPurchaseOrder.getPurchaseOrderId(); + Long erpMaterialId = mesPurchaseOrder.getMaterialId(); + String materialCode = mesPurchaseOrder.getMaterialCode(); + String materialName = mesPurchaseOrder.getMaterialName(); + String poNo = mesPurchaseOrder.getPoNo(); + BigDecimal orderAmount = mesPurchaseOrder.getOrderAmount(); + List orderBinds = mesPurchaseOrder.getMesOrderBindList(); + BigDecimal totalBindAmount = BigDecimal.ZERO; + for (MesOrderBind orderBind : orderBinds) { + if (StringUtils.isEmpty(orderBind.getSafeFlag())) { + throw new ServiceException("请全部选择安全标识"); + } + if (orderBind.getSafeFlag().equals(MesConstants.MES_ORDER_BIND_SAFE_FLAG_NO) + && orderBind.getSaleOrderId() == null) { + throw new ServiceException("安全库存标识为否的请选择销售订单"); + } + + if (orderBind.getSafeFlag().equals(MesConstants.MES_ORDER_BIND_SAFE_FLAG_YES) + && orderBind.getSaleOrderId() != null) { + throw new ServiceException("安全库存标识为是的不需要选择销售订单"); + } + + BigDecimal bindAmount = orderBind.getBindAmount() == null ? + BigDecimal.ZERO : orderBind.getBindAmount(); + if (bindAmount.compareTo(BigDecimal.ZERO) <= 0) { + throw new ServiceException("绑定数量需大于0"); + } + orderBind.setPurchaseOrderId(purchaseOrderId); + orderBind.setCreateTime(currentDate); + orderBind.setCreateBy(userName); + + orderBind.setMaterialId(erpMaterialId); + orderBind.setMaterialCode(materialCode); + orderBind.setMaterialName(materialName); + orderBind.setPoNo(poNo); + + totalBindAmount = totalBindAmount.add(bindAmount); + } + if (totalBindAmount.compareTo(orderAmount) > 0) { + throw new ServiceException("总绑定数量" + totalBindAmount + "不能大于订单计划数量" + orderAmount); + } + + return mesPurchaseOrderMapper.batchMesOrderBind(orderBinds); + } + + } diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesPurchaseOrderMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesPurchaseOrderMapper.xml index dde467ad..bb13287b 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesPurchaseOrderMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesPurchaseOrderMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -23,6 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + @@ -30,13 +38,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + + + + + + - select purchase_order_id, erp_id, fentry_id, po_no, document_status, material_id, material_code, material_name, order_amount, complete_amount, approve_date, erp_modify_date, plan_delivery_date, begin_date, end_date, order_status, complete_date, is_flag, remark, create_by, create_time, update_by, update_time from mes_purchase_order + select purchase_order_id, erp_id, fentry_id, po_no, document_status, material_id, material_code, material_name, order_amount, complete_amount, approve_date, erp_modify_date, plan_delivery_date, begin_date, end_date, order_status, complete_date, is_flag, unit_id, stock_unit_id, price_unit_id, aux_prop_id, src_bill_no, purchase_org_id, tond_base, supplier_id, remark, create_by, create_time, update_by, update_time from mes_purchase_order - - + select a.purchase_order_id, a.erp_id, a.fentry_id, a.po_no, a.document_status, a.material_id, a.material_code, a.material_name, a.order_amount, a.complete_amount, a.approve_date, a.erp_modify_date, a.plan_delivery_date, a.begin_date, a.end_date, a.order_status, a.complete_date, a.is_flag, a.unit_id, a.stock_unit_id, a.price_unit_id, a.aux_prop_id, a.src_bill_no, a.purchase_org_id, a.tond_base, a.supplier_id, a.remark, a.create_by, a.create_time, a.update_by, a.update_time, + b.order_bind_id as sub_order_bind_id, b.safe_flag as sub_safe_flag, b.sale_order_id as sub_sale_order_id, b.sale_order_code as sub_sale_order_code, b.product_id as sub_product_id, b.product_code as sub_product_code, b.product_name as sub_product_name, b.purchase_order_id as sub_purchase_order_id, b.po_no as sub_po_no, b.material_id as sub_material_id, b.material_code as sub_material_code, b.material_name as sub_material_name, b.bind_amount as sub_bind_amount, b.remark as sub_remark, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by, b.update_time as sub_update_time + from mes_purchase_order a + left join mes_order_bind b on b.purchase_order_id = a.purchase_order_id + where a.purchase_order_id = #{purchaseOrderId} - + insert into mes_purchase_order @@ -148,9 +188,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from mes_purchase_order where purchase_order_id in + delete from mes_purchase_order where purchase_order_id in #{purchaseOrderId} - \ No newline at end of file + + + + + + insert into mes_order_bind( order_bind_id, safe_flag, sale_order_id, sale_order_code, product_id, product_code, product_name, purchase_order_id, po_no, material_id, material_code, material_name, bind_amount, remark, create_by, create_time, update_by, update_time) values + + ( #{item.orderBindId}, #{item.safeFlag}, #{item.saleOrderId}, #{item.saleOrderCode}, #{item.productId}, #{item.productCode}, #{item.productName}, #{item.purchaseOrderId}, #{item.poNo}, #{item.materialId}, #{item.materialCode}, #{item.materialName}, #{item.bindAmount}, #{item.remark}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) + + + + + delete from mes_order_bind where purchase_order_id = #{purchaseOrderId} + + + + + delete from mes_order_bind where order_bind_id in + + #{orderBindId} + + + diff --git a/hw-ui/src/api/mes/purchaseOrder.js b/hw-ui/src/api/mes/purchaseOrder.js index d49d9c46..65d7fb51 100644 --- a/hw-ui/src/api/mes/purchaseOrder.js +++ b/hw-ui/src/api/mes/purchaseOrder.js @@ -42,3 +42,26 @@ export function delPurchaseOrder(purchaseOrderId) { method: 'delete' }) } + + + +// 获取销售订单信息 +export function getSaleOrders(query) { + return request({ + url: '/mes/purchaseOrder/getSaleOrders', + method: 'get', + params: query + }) +} + + + +// 绑定采购订单信息 +export function bindOrder(data) { + return request({ + url: '/mes/purchaseOrder/bindOrder', + method: 'post', + data: data + }) +} + diff --git a/hw-ui/src/router/index.js b/hw-ui/src/router/index.js index a44f43f7..d645a7d3 100644 --- a/hw-ui/src/router/index.js +++ b/hw-ui/src/router/index.js @@ -268,6 +268,20 @@ export const dynamicRoutes = [ }, ], }, + { + path: '/mes/product-order', + component: Layout, + hidden: true, + permissions: ['mes:productOrder:bind'], + children: [ + { + path: 'bind/:purchaseOrderId(\\d+)', + component: () => import('@/views/mes/purchaseOrder/bindOrder'), + name: 'orderBind', + meta: { title: '订单信息绑定', activeMenu: '/mes/purchaseOrder' } + } + ] + }, { path: '/mes/product-plan', component: Layout, diff --git a/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue b/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue new file mode 100644 index 00000000..466f1bf7 --- /dev/null +++ b/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue @@ -0,0 +1,325 @@ + + + diff --git a/hw-ui/src/views/mes/purchaseOrder/index.vue b/hw-ui/src/views/mes/purchaseOrder/index.vue index b1ac97e7..a19e4f92 100644 --- a/hw-ui/src/views/mes/purchaseOrder/index.vue +++ b/hw-ui/src/views/mes/purchaseOrder/index.vue @@ -9,24 +9,6 @@ @keyup.enter.native="handleQuery" /> - - - - - - - - + + + + + + + 搜索 重置 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 导出 - - - - - - - - - + + + + + - - - - - - + - + - + - + - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{dict.label}} - - - - - - - - - {{dict.label}} - - - - - - - - diff --git a/hw-ui/src/views/mes/purchaseOrder/selectSaleOrder.vue b/hw-ui/src/views/mes/purchaseOrder/selectSaleOrder.vue new file mode 100644 index 00000000..ab8ba01a --- /dev/null +++ b/hw-ui/src/views/mes/purchaseOrder/selectSaleOrder.vue @@ -0,0 +1,209 @@ + + +