From a1a8e8b25bc6a2f9234fc25066d8fbe500913901 Mon Sep 17 00:00:00 2001 From: xins Date: Wed, 24 Jan 2024 17:16:49 +0800 Subject: [PATCH] =?UTF-8?q?1.4.0=20MWS=EF=BC=9A=E4=BB=93=E5=BA=93=E7=89=A9?= =?UTF-8?q?=E6=96=99=E9=85=8D=E7=BD=AE=E4=BB=A3=E7=A0=81=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=EF=BC=8C=E8=BD=AC=E5=BA=93=E4=BB=A3=E7=A0=81=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hw/common/core/constant/WmsConstants.java | 5 + .../WmsBaseWarehouseController.java | 71 ++- .../wms/controller/WmsTransferController.java | 105 ----- .../java/com/hw/wms/domain/WmsTransfer.java | 436 ------------------ .../com/hw/wms/domain/WmsTransferDetail.java | 255 ---------- .../hw/wms/domain/WmsWarehouseMaterial.java | 108 +++++ .../wms/domain/vo/WmsProductTransferVo.java | 46 -- .../WmsProductOutstockDetailMapper.java | 61 --- .../wms/mapper/WmsTransferDetailMapper.java | 61 --- .../com/hw/wms/mapper/WmsTransferMapper.java | 99 ---- .../mapper/WmsWarehouseMaterialMapper.java | 80 ++++ .../IWmsProductOutstockDetailService.java | 61 --- .../wms/service/IWmsTransactionalService.java | 25 - .../hw/wms/service/IWmsTransferService.java | 97 ---- .../service/IWmsWarehouseMaterialService.java | 78 ++++ .../WmsProductOutstockDetailServiceImpl.java | 190 -------- .../impl/WmsTransactionalServiceImpl.java | 70 --- .../service/impl/WmsTransferServiceImpl.java | 381 --------------- .../impl/WmsWarehouseMaterialServiceImpl.java | 134 ++++++ .../wms/WmsProductOutstockDetailMapper.xml | 121 ----- .../mapper/wms/WmsTransferDetailMapper.xml | 134 ------ .../mapper/wms/WmsTransferMapper.xml | 270 ----------- .../mapper/wms/WmsWarehouseMaterialMapper.xml | 97 ++++ 23 files changed, 569 insertions(+), 2416 deletions(-) delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsTransferController.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransfer.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransferDetail.java create mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsWarehouseMaterial.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsProductTransferVo.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsProductOutstockDetailMapper.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferDetailMapper.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferMapper.java create mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsWarehouseMaterialMapper.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsProductOutstockDetailService.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransactionalService.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransferService.java create mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsWarehouseMaterialService.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsProductOutstockDetailServiceImpl.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransactionalServiceImpl.java delete mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransferServiceImpl.java create mode 100644 hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsWarehouseMaterialServiceImpl.java delete mode 100644 hw-modules/hw-wms/src/main/resources/mapper/wms/WmsProductOutstockDetailMapper.xml delete mode 100644 hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferDetailMapper.xml delete mode 100644 hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferMapper.xml create mode 100644 hw-modules/hw-wms/src/main/resources/mapper/wms/WmsWarehouseMaterialMapper.xml diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java index 575d366f..d0e374f3 100644 --- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java +++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/WmsConstants.java @@ -167,6 +167,11 @@ public class WmsConstants { /*原材料出库任务类型*/ public static final String WMS_RAW_OUTSTOCK_TASK_TYPE_PRODUCTION_PICKING = "1";//生产领料 + + public static final String WMS_RAW_OUTSTOCK_TASK_TYPE_PRODUCTION_SPLIT = "2";//拆分出库 + + public static final String WMS_RAW_OUTSTOCK_TASK_TYPE_PRODUCTION_INSTALL = "3";//组装出库 + public static final String WMS_RAW_OUTSTOCK_TASK_TYPE_OTHER = "9";//其他 public static final String WMS_RAW_OUTSTOCK_TASK_TYPE_MOVE = "2";//移库出库,暂时不用 diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsBaseWarehouseController.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsBaseWarehouseController.java index b457bff7..34e91df3 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsBaseWarehouseController.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsBaseWarehouseController.java @@ -5,7 +5,9 @@ import java.io.IOException; import javax.servlet.http.HttpServletResponse; import com.hw.wms.domain.WmsBaseCategory; +import com.hw.wms.domain.WmsWarehouseMaterial; import com.hw.wms.service.IWmsBaseCategoryService; +import com.hw.wms.service.IWmsWarehouseMaterialService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -41,6 +43,9 @@ public class WmsBaseWarehouseController extends BaseController @Autowired private IWmsBaseCategoryService wmsBaseCategoryService; + @Autowired + private IWmsWarehouseMaterialService wmsWarehouseMaterialService; + /** * 查询仓库列表 */ @@ -57,7 +62,7 @@ public class WmsBaseWarehouseController extends BaseController * 导出仓库列表 */ @RequiresPermissions("wms:wmswarehouse:export") - @Log(title = "仓库", businessType = BusinessType.EXPORT) + @Log(title = "仓库管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, WmsBaseWarehouse wmsBaseWarehouse) { @@ -80,7 +85,7 @@ public class WmsBaseWarehouseController extends BaseController * 新增仓库 */ @RequiresPermissions("wms:wmswarehouse:add") - @Log(title = "仓库", businessType = BusinessType.INSERT) + @Log(title = "仓库管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody WmsBaseWarehouse wmsBaseWarehouse) { @@ -91,7 +96,7 @@ public class WmsBaseWarehouseController extends BaseController * 修改仓库 */ @RequiresPermissions("wms:wmswarehouse:edit") - @Log(title = "仓库", businessType = BusinessType.UPDATE) + @Log(title = "仓库管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody WmsBaseWarehouse wmsBaseWarehouse) { @@ -102,7 +107,7 @@ public class WmsBaseWarehouseController extends BaseController * 删除仓库 */ @RequiresPermissions("wms:wmswarehouse:remove") - @Log(title = "仓库", businessType = BusinessType.DELETE) + @Log(title = "仓库管理", businessType = BusinessType.DELETE) @DeleteMapping("/{warehouseIds}") public AjaxResult remove(@PathVariable Long[] warehouseIds) { @@ -121,4 +126,62 @@ public class WmsBaseWarehouseController extends BaseController return success(list); } + /** + * 查询已分配物料 + */ + @RequiresPermissions("wms:wmswarehouse:materialallocate") + @GetMapping("/selectWmsWarehouseMaterialList") + public TableDataInfo selectWmsWarehouseMaterialList(WmsWarehouseMaterial wmsWarehouseMaterial) + { + startPage(); + List warehouseMaterials = wmsWarehouseMaterialService.selectWmsWarehouseMaterialJoinList(wmsWarehouseMaterial); + return getDataTable(warehouseMaterials); + } + + /** + * 分配仓库可入物料 + */ + @RequiresPermissions("wms:wmswarehouse:materialallocate") + @Log(title = "仓库管理", businessType = BusinessType.ALLOCATE) + @PutMapping("/allocateMaterials") + public AjaxResult allocateMaterials(Long warehouseId, Long[] materialIds) + { + wmsWarehouseMaterialService.batchInsertWarehouseMaterial(warehouseId, materialIds); + return success(); + } + + + /** + * 删除仓库配置的物料信息 + */ + @RequiresPermissions("wms:wmswarehouse:materialallocate") + @Log(title = "仓库管理", businessType = BusinessType.UNALLOCATE) + @PostMapping("/unallocateMaterials") + public AjaxResult unallocateMaterials(Long[] warehouseMaterialIds) + { + return toAjax(wmsWarehouseMaterialService.deleteWmsWarehouseMaterialByWarehouseMaterialIds(warehouseMaterialIds)); + } + + +// /** +// * 根据仓库分配可入库物料信息 +// */ +// @RequiresPermissions("wms:wmswarehouse:materialallocate") +// @GetMapping("/allocateMaterial/{warehouseId}") +// public AjaxResult allocateMaterial(@PathVariable("warehouseId") Long warehouseId) +// { +// AjaxResult ajax = AjaxResult.success(); +// WmsBaseWarehouse warehouse = wmsBaseWarehouseService.selectWmsBaseWarehouseByWarehouseId(warehouseId); +// +// WmsWarehouseMaterial queryWarehouseMaterial = new WmsWarehouseMaterial(); +// queryWarehouseMaterial.setWarehouseId(warehouseId); +// queryWarehouseMaterial.setStorageType(WmsConstants.WMS_WAREHOUSE_MATERIAL_STORAGE_TYPE_MATERIAL); +// +// List warehouseMaterials = wmsWarehouseMaterialService.selectWmsWarehouseMaterialList(queryWarehouseMaterial); +// ajax.put("warehouse", warehouse); +// ajax.put("warehouseMaterials", warehouseMaterials); +// return ajax; +// } + + } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsTransferController.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsTransferController.java deleted file mode 100644 index 61a3ac26..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsTransferController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hw.wms.controller; - -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.hw.common.log.annotation.Log; -import com.hw.common.log.enums.BusinessType; -import com.hw.common.security.annotation.RequiresPermissions; -import com.hw.wms.domain.WmsTransfer; -import com.hw.wms.service.IWmsTransferService; -import com.hw.common.core.web.controller.BaseController; -import com.hw.common.core.web.domain.AjaxResult; -import com.hw.common.core.utils.poi.ExcelUtil; -import com.hw.common.core.web.page.TableDataInfo; - -/** - * 转库记录Controller - * - * @author xins - * @date 2024-01-12 - */ -@RestController -@RequestMapping("/transfer") -public class WmsTransferController extends BaseController -{ - @Autowired - private IWmsTransferService wmsTransferService; - - /** - * 查询转库记录列表 - */ - @RequiresPermissions("wms:transfer:list") - @GetMapping("/list") - public TableDataInfo list(WmsTransfer wmsTransfer) - { - startPage(); - List list = wmsTransferService.selectWmsTransferList(wmsTransfer); - return getDataTable(list); - } - - /** - * 导出转库记录列表 - */ - @RequiresPermissions("wms:transfer:export") - @Log(title = "转库记录", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, WmsTransfer wmsTransfer) - { - List list = wmsTransferService.selectWmsTransferList(wmsTransfer); - ExcelUtil util = new ExcelUtil(WmsTransfer.class); - util.exportExcel(response, list, "转库记录数据"); - } - - /** - * 获取转库记录详细信息 - */ - @RequiresPermissions("wms:transfer:query") - @GetMapping(value = "/{transferId}") - public AjaxResult getInfo(@PathVariable("transferId") Long transferId) - { - return success(wmsTransferService.selectWmsTransferByTransferId(transferId)); - } - - /** - * 新增转库记录 - */ - @RequiresPermissions("wms:transfer:add") - @Log(title = "转库记录", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody WmsTransfer wmsTransfer) - { - return toAjax(wmsTransferService.insertWmsTransfer(wmsTransfer)); - } - - /** - * 修改转库记录 - */ - @RequiresPermissions("wms:transfer:edit") - @Log(title = "转库记录", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody WmsTransfer wmsTransfer) - { - return toAjax(wmsTransferService.updateWmsTransfer(wmsTransfer)); - } - - /** - * 删除转库记录 - */ - @RequiresPermissions("wms:transfer:remove") - @Log(title = "转库记录", businessType = BusinessType.DELETE) - @DeleteMapping("/{transferIds}") - public AjaxResult remove(@PathVariable Long[] transferIds) - { - return toAjax(wmsTransferService.deleteWmsTransferByTransferIds(transferIds)); - } -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransfer.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransfer.java deleted file mode 100644 index b570a5d5..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransfer.java +++ /dev/null @@ -1,436 +0,0 @@ -package com.hw.wms.domain; - -import java.math.BigDecimal; -import java.util.List; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -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; - -/** - * 转库记录对象 wms_transfer - * - * @author xins - * @date 2024-01-12 - */ -public class WmsTransfer extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 转库记录ID */ - private Long transferId; - - /** 任务编号 */ - @Excel(name = "任务编号") - private String taskCode; - - /** 原仓库ID */ - @Excel(name = "原仓库ID") - private Long oriWarehouseId; - - /** 原库位编码 */ - @Excel(name = "原库位编码") - private String oriLocationCode; - - /** 目标仓库ID */ - @Excel(name = "目标仓库ID") - private Long targetWarehouseId; - - /** 目标库位编码 */ - @Excel(name = "目标库位编码") - private String targetLocationCode; - - /** 物料ID */ - @Excel(name = "物料ID") - private Long materialId; - - /** 产品批次号 */ - @Excel(name = "产品批次号") - private String productBatch; - - /** 计划编号,关联pd_base_plan_info的plan_code */ - @Excel(name = "计划编号,关联pd_base_plan_info的plan_code") - private String planCode; - - /** 申请数量 */ - @Excel(name = "申请数量") - private BigDecimal applyQty; - - /** 已出数量 */ - @Excel(name = "已出数量") - private BigDecimal outstockQty; - - /** 已入数量 */ - @Excel(name = "已入数量") - private BigDecimal instockQty; - - /** 操作类型(0自动,1人工,2强制,3调度) */ - @Excel(name = "操作类型(0自动,1人工,2强制,3调度)") - private String operationType; - - /** 转库类型(1、出半成品库入成品库) */ - @Excel(name = "转库类型(1、出半成品库入成品库)") - private String transferType; - - /** 申请原因 */ - @Excel(name = "申请原因") - private String applyReason; - - /** 审核原因 */ - @Excel(name = "审核原因") - private String auditReason; - - /** 审核状态(0待审核,1审核通过,2审核未通过) */ - @Excel(name = "审核状态(0待审核,1审核通过,2审核未通过)") - private String auditStatus; - - /** 执行状态(0待执行,1待执行,2已完成) */ - @Excel(name = "执行状态(0待执行,1待执行,2已完成)") - private String executeStatus; - - /** 申请人 */ - @Excel(name = "申请人") - private String applyBy; - - /** 申请时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date applyDate; - - /** 审核人 */ - @Excel(name = "审核人") - private String auditBy; - - /** 审核时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date auditDate; - - /** 最后更新时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date updateDate; - - /** 开始时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date beginTime; - - /** 结束时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date endTime; - - - - private String oriWarehouseName; - private String targetWarehouseName; - private String materialCode; - private String materialName; - - /** 转库记录明细;移库合库记录对应的明细信息信息 */ - private List wmsTransferDetailList; - - public void setTransferId(Long transferId) - { - this.transferId = transferId; - } - - public Long getTransferId() - { - return transferId; - } - public void setTaskCode(String taskCode) - { - this.taskCode = taskCode; - } - - public String getTaskCode() - { - return taskCode; - } - public void setOriWarehouseId(Long oriWarehouseId) - { - this.oriWarehouseId = oriWarehouseId; - } - - public Long getOriWarehouseId() - { - return oriWarehouseId; - } - public void setOriLocationCode(String oriLocationCode) - { - this.oriLocationCode = oriLocationCode; - } - - public String getOriLocationCode() - { - return oriLocationCode; - } - public void setTargetWarehouseId(Long targetWarehouseId) - { - this.targetWarehouseId = targetWarehouseId; - } - - public Long getTargetWarehouseId() - { - return targetWarehouseId; - } - public void setTargetLocationCode(String targetLocationCode) - { - this.targetLocationCode = targetLocationCode; - } - - public String getTargetLocationCode() - { - return targetLocationCode; - } - public void setMaterialId(Long materialId) - { - this.materialId = materialId; - } - - public Long getMaterialId() - { - return materialId; - } - public void setProductBatch(String productBatch) - { - this.productBatch = productBatch; - } - - public String getProductBatch() - { - return productBatch; - } - public void setPlanCode(String planCode) - { - this.planCode = planCode; - } - - public String getPlanCode() - { - return planCode; - } - public void setApplyQty(BigDecimal applyQty) - { - this.applyQty = applyQty; - } - - public BigDecimal getApplyQty() - { - return applyQty; - } - public void setOutstockQty(BigDecimal outstockQty) - { - this.outstockQty = outstockQty; - } - - public BigDecimal getOutstockQty() - { - return outstockQty; - } - public void setInstockQty(BigDecimal instockQty) - { - this.instockQty = instockQty; - } - - public BigDecimal getInstockQty() - { - return instockQty; - } - public void setOperationType(String operationType) - { - this.operationType = operationType; - } - - public String getOperationType() - { - return operationType; - } - public void setTransferType(String transferType) - { - this.transferType = transferType; - } - - public String getTransferType() - { - return transferType; - } - public void setApplyReason(String applyReason) - { - this.applyReason = applyReason; - } - - public String getApplyReason() - { - return applyReason; - } - public void setAuditReason(String auditReason) - { - this.auditReason = auditReason; - } - - public String getAuditReason() - { - return auditReason; - } - public void setAuditStatus(String auditStatus) - { - this.auditStatus = auditStatus; - } - - public String getAuditStatus() - { - return auditStatus; - } - public void setExecuteStatus(String executeStatus) - { - this.executeStatus = executeStatus; - } - - public String getExecuteStatus() - { - return executeStatus; - } - public void setApplyBy(String applyBy) - { - this.applyBy = applyBy; - } - - public String getApplyBy() - { - return applyBy; - } - public void setApplyDate(Date applyDate) - { - this.applyDate = applyDate; - } - - public Date getApplyDate() - { - return applyDate; - } - public void setAuditBy(String auditBy) - { - this.auditBy = auditBy; - } - - public String getAuditBy() - { - return auditBy; - } - public void setAuditDate(Date auditDate) - { - this.auditDate = auditDate; - } - - public Date getAuditDate() - { - return auditDate; - } - public void setUpdateDate(Date updateDate) - { - this.updateDate = updateDate; - } - - public Date getUpdateDate() - { - return updateDate; - } - public void setBeginTime(Date beginTime) - { - this.beginTime = beginTime; - } - - public Date getBeginTime() - { - return beginTime; - } - public void setEndTime(Date endTime) - { - this.endTime = endTime; - } - - public Date getEndTime() - { - return endTime; - } - - public List getWmsTransferDetailList() - { - return wmsTransferDetailList; - } - - public void setWmsTransferDetailList(List wmsTransferDetailList) - { - this.wmsTransferDetailList = wmsTransferDetailList; - } - - public String getOriWarehouseName() { - return oriWarehouseName; - } - - public void setOriWarehouseName(String oriWarehouseName) { - this.oriWarehouseName = oriWarehouseName; - } - - public String getTargetWarehouseName() { - return targetWarehouseName; - } - - public void setTargetWarehouseName(String targetWarehouseName) { - this.targetWarehouseName = targetWarehouseName; - } - - public String getMaterialCode() { - return materialCode; - } - - public void setMaterialCode(String materialCode) { - this.materialCode = materialCode; - } - - public String getMaterialName() { - return materialName; - } - - public void setMaterialName(String materialName) { - this.materialName = materialName; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("transferId", getTransferId()) - .append("taskCode", getTaskCode()) - .append("oriWarehouseId", getOriWarehouseId()) - .append("oriLocationCode", getOriLocationCode()) - .append("targetWarehouseId", getTargetWarehouseId()) - .append("targetLocationCode", getTargetLocationCode()) - .append("materialId", getMaterialId()) - .append("productBatch", getProductBatch()) - .append("planCode", getPlanCode()) - .append("applyQty", getApplyQty()) - .append("outstockQty", getOutstockQty()) - .append("instockQty", getInstockQty()) - .append("operationType", getOperationType()) - .append("transferType", getTransferType()) - .append("applyReason", getApplyReason()) - .append("auditReason", getAuditReason()) - .append("auditStatus", getAuditStatus()) - .append("executeStatus", getExecuteStatus()) - .append("applyBy", getApplyBy()) - .append("applyDate", getApplyDate()) - .append("auditBy", getAuditBy()) - .append("auditDate", getAuditDate()) - .append("updateBy", getUpdateBy()) - .append("updateDate", getUpdateDate()) - .append("beginTime", getBeginTime()) - .append("endTime", getEndTime()) - .append("wmsTransferDetailList", getWmsTransferDetailList()) - .toString(); - } -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransferDetail.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransferDetail.java deleted file mode 100644 index 57a179f1..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsTransferDetail.java +++ /dev/null @@ -1,255 +0,0 @@ -package com.hw.wms.domain; - -import java.math.BigDecimal; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; -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; - -/** - * 转库记录明细;移库合库记录对应的明细信息对象 wms_transfer_detail - * - * @author xins - * @date 2024-01-12 - */ -public class WmsTransferDetail extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 转库记录明细ID */ - private Long transferDetailId; - - /** 转库ID,关联wms_transfer的transfer_id */ - @Excel(name = "转库ID,关联wms_transfer的transfer_id") - private Long transferId; - - /** 库位编码 */ - @Excel(name = "库位编码") - private String locationCode; - - /** 存放物料条码,入库扫描条码时,从打印条码记录表中获取,关联条码信息的barcode_info */ - @Excel(name = "存放物料条码,入库扫描条码时,从打印条码记录表中获取,关联条码信息的barcode_info") - private String materialBarcode; - - /** 批次;入库扫描条码时,从打印条码记录表中获取,关联条码信息的batch_code */ - @Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取,关联条码信息的batch_code") - private String instockBatch; - - /** 物料ID */ - @Excel(name = "物料ID") - private Long materialId; - - /** 计划数量 */ - @Excel(name = "计划数量") - private BigDecimal planAmount; - - /** 实际数量 */ - @Excel(name = "实际数量") - private BigDecimal realAmount; - - /** 执行状态(0待执行,1执行中,2执行完成) */ - @Excel(name = "执行状态(0待执行,1执行中,2执行完成)") - private String executeStatus; - - /** 执行人 */ - @Excel(name = "执行人") - private String executePerson; - - /** 执行时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "执行时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date executeTime; - - /** 转明细类型(1出库2入库) */ - @Excel(name = "转明细类型(1出库2入库)") - private String transferDetailType; - - /** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */ - @Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取") - private String machineName; - - /** 创建时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date createDate; - - /** 最后更新时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date updateDate; - - /** 有效标记 */ - @Excel(name = "有效标记") - private String activeFlag; - - public void setTransferDetailId(Long transferDetailId) - { - this.transferDetailId = transferDetailId; - } - - public Long getTransferDetailId() - { - return transferDetailId; - } - public void setTransferId(Long transferId) - { - this.transferId = transferId; - } - - public Long getTransferId() - { - return transferId; - } - public void setLocationCode(String locationCode) - { - this.locationCode = locationCode; - } - - public String getLocationCode() - { - return locationCode; - } - public void setMaterialBarcode(String materialBarcode) - { - this.materialBarcode = materialBarcode; - } - - public String getMaterialBarcode() - { - return materialBarcode; - } - public void setInstockBatch(String instockBatch) - { - this.instockBatch = instockBatch; - } - - public String getInstockBatch() - { - return instockBatch; - } - public void setMaterialId(Long materialId) - { - this.materialId = materialId; - } - - public Long getMaterialId() - { - return materialId; - } - public void setPlanAmount(BigDecimal planAmount) - { - this.planAmount = planAmount; - } - - public BigDecimal getPlanAmount() - { - return planAmount; - } - public void setRealAmount(BigDecimal realAmount) - { - this.realAmount = realAmount; - } - - public BigDecimal getRealAmount() - { - return realAmount; - } - public void setExecuteStatus(String executeStatus) - { - this.executeStatus = executeStatus; - } - - public String getExecuteStatus() - { - return executeStatus; - } - public void setExecutePerson(String executePerson) - { - this.executePerson = executePerson; - } - - public String getExecutePerson() - { - return executePerson; - } - public void setExecuteTime(Date executeTime) - { - this.executeTime = executeTime; - } - - public Date getExecuteTime() - { - return executeTime; - } - public void setTransferDetailType(String transferDetailType) - { - this.transferDetailType = transferDetailType; - } - - public String getTransferDetailType() - { - return transferDetailType; - } - public void setMachineName(String machineName) - { - this.machineName = machineName; - } - - public String getMachineName() - { - return machineName; - } - public void setCreateDate(Date createDate) - { - this.createDate = createDate; - } - - public Date getCreateDate() - { - return createDate; - } - public void setUpdateDate(Date updateDate) - { - this.updateDate = updateDate; - } - - public Date getUpdateDate() - { - return updateDate; - } - public void setActiveFlag(String activeFlag) - { - this.activeFlag = activeFlag; - } - - public String getActiveFlag() - { - return activeFlag; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("transferDetailId", getTransferDetailId()) - .append("transferId", getTransferId()) - .append("locationCode", getLocationCode()) - .append("materialBarcode", getMaterialBarcode()) - .append("instockBatch", getInstockBatch()) - .append("materialId", getMaterialId()) - .append("planAmount", getPlanAmount()) - .append("realAmount", getRealAmount()) - .append("executeStatus", getExecuteStatus()) - .append("executePerson", getExecutePerson()) - .append("executeTime", getExecuteTime()) - .append("transferDetailType", getTransferDetailType()) - .append("machineName", getMachineName()) - .append("createBy", getCreateBy()) - .append("createDate", getCreateDate()) - .append("updateBy", getUpdateBy()) - .append("updateDate", getUpdateDate()) - .append("activeFlag", getActiveFlag()) - .toString(); - } -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsWarehouseMaterial.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsWarehouseMaterial.java new file mode 100644 index 00000000..05783810 --- /dev/null +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsWarehouseMaterial.java @@ -0,0 +1,108 @@ +package com.hw.wms.domain; + +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; + +/** + * 仓库可储存物料信息对象 wms_warehouse_material + * + * @author xins + * @date 2024-01-09 + */ +public class WmsWarehouseMaterial extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + private Long warehouseMaterialId; + + /** 仓库ID */ + private Long warehouseId; + + /** 库位编码;单独需要针对库位设置的,后续扩展使用 */ + private String locationCode; + + /** 存储类型(1、物料,2、物料类型);先支持物料 */ + private String storageType; + + /** 根据存储类型对应各自表的主键 */ + private Long storageId; + + private String materialCode; + + private String materialName; + + public Long getWarehouseMaterialId() { + return warehouseMaterialId; + } + + public void setWarehouseMaterialId(Long warehouseMaterialId) { + this.warehouseMaterialId = warehouseMaterialId; + } + + public void setWarehouseId(Long warehouseId) + { + this.warehouseId = warehouseId; + } + + public Long getWarehouseId() + { + return warehouseId; + } + public void setLocationCode(String locationCode) + { + this.locationCode = locationCode; + } + + public String getLocationCode() + { + return locationCode; + } + public void setStorageType(String storageType) + { + this.storageType = storageType; + } + + public String getStorageType() + { + return storageType; + } + public void setStorageId(Long storageId) + { + this.storageId = storageId; + } + + public Long getStorageId() + { + return storageId; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("warehouseId", getWarehouseId()) + .append("locationCode", getLocationCode()) + .append("storageType", getStorageType()) + .append("storageId", getStorageId()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .toString(); + } +} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsProductTransferVo.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsProductTransferVo.java deleted file mode 100644 index 9fa8ea32..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsProductTransferVo.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hw.wms.domain.vo; - -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.math.BigDecimal; - -/** - * @Description: 转库记录对象VO - * @ClassName: WmsProductTransferVo - * @Author : xins - * @Date :2024-01-15 8:51 - * @Version :1.0 - */ -@Data -public class WmsProductTransferVo { - - //原仓库ID - @NotNull(message="原仓库必须输入") - private Long oriWarehouseId; - - //目标仓库ID - @NotNull(message="目标仓库ID必须输入") - private Long targetWarehouseId; - - //原库位编号 - @NotBlank(message="原库位编号必须输入") - private String oriLocationCode; - - //产品ID - @NotNull(message="成品ID必须输入") - private Long productId; - - //产品批次 - @NotBlank(message="产品批次必须输入") - private String productBatch; - - //生产计划Code - @NotBlank(message="生产计划编号必须输入") - private String planCode; - - private BigDecimal applyCount; - - -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsProductOutstockDetailMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsProductOutstockDetailMapper.java deleted file mode 100644 index dc460e38..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsProductOutstockDetailMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hw.wms.mapper; - -import java.util.List; -import com.hw.wms.domain.WmsProductOutstockDetail; - -/** - * 成品出库记录明细Mapper接口 - * - * @author xins - * @date 2024-01-16 - */ -public interface WmsProductOutstockDetailMapper -{ - /** - * 查询成品出库记录明细 - * - * @param productOutstockDetailId 成品出库记录明细主键 - * @return 成品出库记录明细 - */ - public WmsProductOutstockDetail selectWmsProductOutstockDetailByProductOutstockDetailId(Long productOutstockDetailId); - - /** - * 查询成品出库记录明细列表 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 成品出库记录明细集合 - */ - public List selectWmsProductOutstockDetailList(WmsProductOutstockDetail wmsProductOutstockDetail); - - /** - * 新增成品出库记录明细 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 结果 - */ - public int insertWmsProductOutstockDetail(WmsProductOutstockDetail wmsProductOutstockDetail); - - /** - * 修改成品出库记录明细 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 结果 - */ - public int updateWmsProductOutstockDetail(WmsProductOutstockDetail wmsProductOutstockDetail); - - /** - * 删除成品出库记录明细 - * - * @param productOutstockDetailId 成品出库记录明细主键 - * @return 结果 - */ - public int deleteWmsProductOutstockDetailByProductOutstockDetailId(Long productOutstockDetailId); - - /** - * 批量删除成品出库记录明细 - * - * @param productOutstockDetailIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWmsProductOutstockDetailByProductOutstockDetailIds(Long[] productOutstockDetailIds); -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferDetailMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferDetailMapper.java deleted file mode 100644 index 94647144..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferDetailMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hw.wms.mapper; - -import java.util.List; -import com.hw.wms.domain.WmsTransferDetail; - -/** - * 转库记录明细Mapper接口 - * - * @author xins - * @date 2024-01-15 - */ -public interface WmsTransferDetailMapper -{ - /** - * 查询转库记录明细 - * - * @param transferDetailId 转库记录明细主键 - * @return 转库记录明细 - */ - public WmsTransferDetail selectWmsTransferDetailByTransferDetailId(Long transferDetailId); - - /** - * 查询转库记录明细列表 - * - * @param wmsTransferDetail 转库记录明细 - * @return 转库记录明细集合 - */ - public List selectWmsTransferDetailList(WmsTransferDetail wmsTransferDetail); - - /** - * 新增转库记录明细 - * - * @param wmsTransferDetail 转库记录明细 - * @return 结果 - */ - public int insertWmsTransferDetail(WmsTransferDetail wmsTransferDetail); - - /** - * 修改转库记录明细 - * - * @param wmsTransferDetail 转库记录明细 - * @return 结果 - */ - public int updateWmsTransferDetail(WmsTransferDetail wmsTransferDetail); - - /** - * 删除转库记录明细 - * - * @param transferDetailId 转库记录明细主键 - * @return 结果 - */ - public int deleteWmsTransferDetailByTransferDetailId(Long transferDetailId); - - /** - * 批量删除转库记录明细 - * - * @param transferDetailIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWmsTransferDetailByTransferDetailIds(Long[] transferDetailIds); -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferMapper.java deleted file mode 100644 index 1b7a4434..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsTransferMapper.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.hw.wms.mapper; - -import java.util.List; -import com.hw.wms.domain.WmsTransfer; -import com.hw.wms.domain.WmsTransferDetail; - -/** - * 转库记录Mapper接口 - * - * @author xins - * @date 2024-01-12 - */ -public interface WmsTransferMapper -{ - /** - * 查询转库记录 - * - * @param transferId 转库记录主键 - * @return 转库记录 - */ - public WmsTransfer selectWmsTransferByTransferId(Long transferId); - - /** - * 查询转库记录列表 - * - * @param wmsTransfer 转库记录 - * @return 转库记录集合 - */ - public List selectWmsTransferList(WmsTransfer wmsTransfer); - - /** - * 新增转库记录 - * - * @param wmsTransfer 转库记录 - * @return 结果 - */ - public int insertWmsTransfer(WmsTransfer wmsTransfer); - - /** - * 修改转库记录 - * - * @param wmsTransfer 转库记录 - * @return 结果 - */ - public int updateWmsTransfer(WmsTransfer wmsTransfer); - - /** - * 删除转库记录 - * - * @param transferId 转库记录主键 - * @return 结果 - */ - public int deleteWmsTransferByTransferId(Long transferId); - - /** - * 批量删除转库记录 - * - * @param transferIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWmsTransferByTransferIds(Long[] transferIds); - - /** - * 批量删除转库记录明细;移库合库记录对应的明细信息 - * - * @param transferIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWmsTransferDetailByTransferIds(Long[] transferIds); - - /** - * 批量新增转库记录明细;移库合库记录对应的明细信息 - * - * @param wmsTransferDetailList 转库记录明细;移库合库记录对应的明细信息列表 - * @return 结果 - */ - public int batchWmsTransferDetail(List wmsTransferDetailList); - - - /** - * 通过转库记录主键删除转库记录明细;移库合库记录对应的明细信息信息 - * - * @param transferId 转库记录ID - * @return 结果 - */ - public int deleteWmsTransferDetailByTransferId(Long transferId); - - - - - /** - * 查询转库记录列表,Join原仓库,目标仓库和物料 - * - * @param wmsTransfer 转库记录 - * @return 转库记录集合 - */ - public List selectWmsTransferJoinList(WmsTransfer wmsTransfer); - -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsWarehouseMaterialMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsWarehouseMaterialMapper.java new file mode 100644 index 00000000..d6e31579 --- /dev/null +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsWarehouseMaterialMapper.java @@ -0,0 +1,80 @@ +package com.hw.wms.mapper; + +import java.util.List; + +import com.hw.wms.domain.WmsWarehouseMaterial; + +/** + * 仓库可储存物料信息Mapper接口 + * + * @author xins + * @date 2024-01-09 + */ +public interface WmsWarehouseMaterialMapper { + /** + * 查询仓库可储存物料信息 + * + * @param warehouseId 仓库可储存物料信息主键 + * @return 仓库可储存物料信息 + */ + public WmsWarehouseMaterial selectWmsWarehouseMaterialByWarehouseId(Long warehouseId); + + /** + * 查询仓库可储存物料信息列表 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 仓库可储存物料信息集合 + */ + public List selectWmsWarehouseMaterialList(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 新增仓库可储存物料信息 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 结果 + */ + public int insertWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 修改仓库可储存物料信息 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 结果 + */ + public int updateWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 删除仓库可储存物料信息 + * + * @param warehouseId 仓库可储存物料信息主键 + * @return 结果 + */ + public int deleteWmsWarehouseMaterialByWarehouseMaterialId(Long warehouseId); + + /** + * 批量删除仓库可储存物料信息 + * + * @param warehouseIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWmsWarehouseMaterialByWarehouseMaterialIds(Long[] warehouseIds); + + + + /** + * 查询仓库可储存物料信息列表,Join material + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 仓库可储存物料信息集合 + */ + public List selectWmsWarehouseMaterialJoinList(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 批量新增仓库物料配置信息 + * + * @param warehouseMaterialList 仓库物料列表 + * @return 结果 + */ + public int batchInsertWarehouseMaterial(List warehouseMaterialList); + +} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsProductOutstockDetailService.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsProductOutstockDetailService.java deleted file mode 100644 index 29968a10..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsProductOutstockDetailService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hw.wms.service; - -import java.util.List; -import com.hw.wms.domain.WmsProductOutstockDetail; - -/** - * 成品出库记录明细Service接口 - * - * @author xins - * @date 2024-01-16 - */ -public interface IWmsProductOutstockDetailService -{ - /** - * 查询成品出库记录明细 - * - * @param productOutstockDetailId 成品出库记录明细主键 - * @return 成品出库记录明细 - */ - public WmsProductOutstockDetail selectWmsProductOutstockDetailByProductOutstockDetailId(Long productOutstockDetailId); - - /** - * 查询成品出库记录明细列表 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 成品出库记录明细集合 - */ - public List selectWmsProductOutstockDetailList(WmsProductOutstockDetail wmsProductOutstockDetail); - - /** - * 新增成品出库记录明细 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 结果 - */ - public int insertWmsProductOutstockDetail(WmsProductOutstockDetail wmsProductOutstockDetail); - - /** - * 修改成品出库记录明细 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 结果 - */ - public int updateWmsProductOutstockDetail(WmsProductOutstockDetail wmsProductOutstockDetail); - - /** - * 批量删除成品出库记录明细 - * - * @param productOutstockDetailIds 需要删除的成品出库记录明细主键集合 - * @return 结果 - */ - public int deleteWmsProductOutstockDetailByProductOutstockDetailIds(Long[] productOutstockDetailIds); - - /** - * 删除成品出库记录明细信息 - * - * @param productOutstockDetailId 成品出库记录明细主键 - * @return 结果 - */ - public int deleteWmsProductOutstockDetailByProductOutstockDetailId(Long productOutstockDetailId); -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransactionalService.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransactionalService.java deleted file mode 100644 index ed5a8d7b..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransactionalService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hw.wms.service; - -import com.hw.wms.domain.WmsTransfer; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; - -/** - * @Description: 用来循环内执行事务的服务接口 - * @ClassName: IWmsTransactionalService - * @Author : xins - * @Date :2024-01-15 10:29 - * @Version :1.0 - */ -public interface IWmsTransactionalService { - - /** - * @Description: 申请转库(适合五楼半成品出半成品库入成品库) - * @ClassName: WmsTransactionalServiceImpl - * @Author : xins - * @Date :2024-01-15 10:37 - * @Version :1.0 - */ - public void applyTransfer(WmsTransfer wmsTransfer, String userName, Date currentDate); -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransferService.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransferService.java deleted file mode 100644 index 1be8e246..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsTransferService.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hw.wms.service; - -import java.util.List; -import com.hw.wms.domain.WmsTransfer; -import com.hw.wms.domain.WmsTransferDetail; -import org.springframework.transaction.annotation.Transactional; - -/** - * 转库记录Service接口 - * - * @author xins - * @date 2024-01-12 - */ -public interface IWmsTransferService -{ - /** - * 查询转库记录 - * - * @param transferId 转库记录主键 - * @return 转库记录 - */ - public WmsTransfer selectWmsTransferByTransferId(Long transferId); - - /** - * 查询转库记录列表 - * - * @param wmsTransfer 转库记录 - * @return 转库记录集合 - */ - public List selectWmsTransferList(WmsTransfer wmsTransfer); - - /** - * 新增转库记录 - * - * @param wmsTransfer 转库记录 - * @return 结果 - */ - public int insertWmsTransfer(WmsTransfer wmsTransfer); - - /** - * 修改转库记录 - * - * @param wmsTransfer 转库记录 - * @return 结果 - */ - public int updateWmsTransfer(WmsTransfer wmsTransfer); - - /** - * 批量删除转库记录 - * - * @param transferIds 需要删除的转库记录主键集合 - * @return 结果 - */ - public int deleteWmsTransferByTransferIds(Long[] transferIds); - - /** - * 删除转库记录信息 - * - * @param transferId 转库记录主键 - * @return 结果 - */ - public int deleteWmsTransferByTransferId(Long transferId); - - - - - - /** - * 申请转库(适合五楼半成品库入成品库) - * - * @param wmsTransfers - * @return - */ - public int applyTransfers(List wmsTransfers); - - /** - * 查询转库记录列表,Join原仓库,目标仓库和物料 - * - * @param wmsTransfer 转库记录 - * @return 转库记录 - */ - public List selectWmsTransferJoinList(WmsTransfer wmsTransfer); - - /** - * 转库出库,适合五楼半成品出半成品库 - * @param wmsTransferDetail - * @return - */ - public int transferOutstock(WmsTransferDetail wmsTransferDetail); - - /** - * 转库入库,适合五楼半成品入成品库 - * @param wmsTransferDetail - * @return - */ - public int transferInstock(WmsTransferDetail wmsTransferDetail); -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsWarehouseMaterialService.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsWarehouseMaterialService.java new file mode 100644 index 00000000..0459b9fb --- /dev/null +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsWarehouseMaterialService.java @@ -0,0 +1,78 @@ +package com.hw.wms.service; + +import java.util.List; +import com.hw.wms.domain.WmsWarehouseMaterial; + +/** + * 仓库可储存物料信息Service接口 + * + * @author xins + * @date 2024-01-09 + */ +public interface IWmsWarehouseMaterialService +{ + /** + * 查询仓库可储存物料信息 + * + * @param warehouseId 仓库可储存物料信息主键 + * @return 仓库可储存物料信息 + */ + public WmsWarehouseMaterial selectWmsWarehouseMaterialByWarehouseId(Long warehouseId); + + /** + * 查询仓库可储存物料信息列表 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 仓库可储存物料信息集合 + */ + public List selectWmsWarehouseMaterialList(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 新增仓库可储存物料信息 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 结果 + */ + public int insertWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 修改仓库可储存物料信息 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 结果 + */ + public int updateWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 批量删除仓库可储存物料信息 + * + * @param warehouseMaterialIds 需要删除的仓库可储存物料信息主键集合 + * @return 结果 + */ + public int deleteWmsWarehouseMaterialByWarehouseMaterialIds(Long[] warehouseMaterialIds); + + /** + * 删除仓库可储存物料信息信息 + * + * @param warehouseMaterialId 仓库可储存物料信息主键 + * @return 结果 + */ + public int deleteWmsWarehouseMaterialByWarehouseMaterialId(Long warehouseMaterialId); + + + /** + * 查询仓库可储存物料信息列表,join material + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 仓库可储存物料信息 + */ + public List selectWmsWarehouseMaterialJoinList(WmsWarehouseMaterial wmsWarehouseMaterial); + + /** + * 批量新增仓库配置物料信息 + * + * @param warehouseId 仓库ID + * @param materialIds 物料组 + */ + public void batchInsertWarehouseMaterial(Long warehouseId, Long[] materialIds); +} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsProductOutstockDetailServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsProductOutstockDetailServiceImpl.java deleted file mode 100644 index 190e29cd..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsProductOutstockDetailServiceImpl.java +++ /dev/null @@ -1,190 +0,0 @@ -package com.hw.wms.service.impl; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -import com.hw.common.core.constant.WmsConstants; -import com.hw.common.core.exception.ServiceException; -import com.hw.common.security.utils.SecurityUtils; -import com.hw.wms.domain.WmsBaseLocation; -import com.hw.wms.domain.WmsProductOutstock; -import com.hw.wms.domain.WmsProductStock; -import com.hw.wms.mapper.WmsBaseLocationMapper; -import com.hw.wms.mapper.WmsProductOutstockMapper; -import com.hw.wms.mapper.WmsProductStockMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.hw.wms.mapper.WmsProductOutstockDetailMapper; -import com.hw.wms.domain.WmsProductOutstockDetail; -import com.hw.wms.service.IWmsProductOutstockDetailService; -import org.springframework.transaction.annotation.Transactional; - -/** - * 成品出库记录明细Service业务层处理 - * - * @author xins - * @date 2024-01-16 - */ -@Service -public class WmsProductOutstockDetailServiceImpl implements IWmsProductOutstockDetailService { - @Autowired - private WmsProductOutstockDetailMapper wmsProductOutstockDetailMapper; - - @Autowired - private WmsProductOutstockMapper wmsProductOutstockMapper; - - @Autowired - private WmsProductStockMapper wmsProductStockMapper; - - @Autowired - private WmsBaseLocationMapper wmsBaseLocationMapper; - - - /** - * 查询成品出库记录明细 - * - * @param productOutstockDetailId 成品出库记录明细主键 - * @return 成品出库记录明细 - */ - @Override - public WmsProductOutstockDetail selectWmsProductOutstockDetailByProductOutstockDetailId(Long productOutstockDetailId) { - return wmsProductOutstockDetailMapper.selectWmsProductOutstockDetailByProductOutstockDetailId(productOutstockDetailId); - } - - /** - * 查询成品出库记录明细列表 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 成品出库记录明细 - */ - @Override - public List selectWmsProductOutstockDetailList(WmsProductOutstockDetail wmsProductOutstockDetail) { - return wmsProductOutstockDetailMapper.selectWmsProductOutstockDetailList(wmsProductOutstockDetail); - } - - /** - * 新增成品出库记录明细 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int insertWmsProductOutstockDetail(WmsProductOutstockDetail wmsProductOutstockDetail) { - String locationCode = wmsProductOutstockDetail.getLocationCode(); - String productBarcode = wmsProductOutstockDetail.getProductBarcode(); - String productBatch = wmsProductOutstockDetail.getProductBatch(); - Long productOutstockId = wmsProductOutstockDetail.getProductOutstockId(); - - WmsBaseLocation location = wmsBaseLocationMapper.selectWmsBaseLocationByLocationCode(locationCode); - if (location == null) { - throw new ServiceException(String.format("库位编码%1$s错误", locationCode)); - } - - WmsProductOutstock productOutstock = wmsProductOutstockMapper.selectOnlyWmsProductOutstockByOutstockId(productOutstockId); - if (productOutstock == null) { - throw new ServiceException("没有此成品出库任务信息"); - } - - if (!productOutstock.getWarehouseId().equals(location.getWarehouseId())) { - throw new ServiceException("没有此仓库出库任务"); - } - - if (productOutstock.getExecuteStatus().equals(WmsConstants.WMS_EXECUTE_STATUS_FINISH)) { - throw new ServiceException("此出库申请已完成,不能再出库"); - } - - WmsProductStock productStock = wmsProductStockMapper.selectProductStockByLocationAndBatch(locationCode, productBatch, WmsConstants.PRODUCT_STOCK_STOCK_TYPE_PRODUCT); - if (productStock == null) { - throw new ServiceException("此库位没有库存"); - } - BigDecimal totalAmount = productStock.getTotalAmount(); - BigDecimal frozenAmount = productStock.getFrozenAmount() == null ? BigDecimal.ZERO : productStock.getFrozenAmount(); - BigDecimal occupyAmount = productStock.getOccupyAmount() == null ? BigDecimal.ZERO : productStock.getOccupyAmount(); - - BigDecimal availableAmount = totalAmount.subtract(frozenAmount).subtract(occupyAmount); - if (availableAmount.compareTo(BigDecimal.ZERO) <= 0) { - throw new ServiceException("此库位没有可出库存"); - } - - BigDecimal applyQty = productOutstock.getApplyQty() == null ? BigDecimal.ZERO : productOutstock.getApplyQty(); - BigDecimal outstockQty = productOutstock.getOutstockQty() == null ? BigDecimal.ZERO : productOutstock.getOutstockQty(); - - BigDecimal currentOutstockQty = outstockQty.add(BigDecimal.ONE); - if (applyQty.compareTo(currentOutstockQty) < 0) { - throw new ServiceException(String.format("出库申请数量为%1$s,不能再出库", applyQty)); - } - - String userName = SecurityUtils.getUsername(); - Date currentDate = new Date(); - //更新出库记录 - if (applyQty.compareTo(currentOutstockQty) == 0) { - productOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - productOutstock.setEndTime(currentDate); - } else if (applyQty.compareTo(currentOutstockQty) > 0) { - productOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); - } - - productOutstock.setOutstockQty(currentOutstockQty); - if(productOutstock.getBeginTime()==null) { - productOutstock.setBeginTime(currentDate); - } - productOutstock.setUpdateDate(currentDate); - productOutstock.setUpdateBy(userName); - wmsProductOutstockMapper.updateWmsProductOutstock(productOutstock); - - //更新库存 - productStock.setTotalAmount(totalAmount.subtract(BigDecimal.ONE)); - productStock.setUpdateBy(userName); - productStock.setUpdateDate(currentDate); - wmsProductStockMapper.updateWmsProductStock(productStock); - - //插入出库记录明细 - wmsProductOutstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - wmsProductOutstockDetail.setBeginTime(currentDate); - wmsProductOutstockDetail.setEndTime(currentDate); - wmsProductOutstockDetail.setWarehouseId(location.getWarehouseId()); - wmsProductOutstockDetail.setPlanAmount(BigDecimal.ONE); - wmsProductOutstockDetail.setOutstockAmount(BigDecimal.ONE); - - wmsProductOutstockDetailMapper.insertWmsProductOutstockDetail(wmsProductOutstockDetail); - - //todo:同步erp - - return 1; - } - - /** - * 修改成品出库记录明细 - * - * @param wmsProductOutstockDetail 成品出库记录明细 - * @return 结果 - */ - @Override - public int updateWmsProductOutstockDetail(WmsProductOutstockDetail wmsProductOutstockDetail) { - return wmsProductOutstockDetailMapper.updateWmsProductOutstockDetail(wmsProductOutstockDetail); - } - - /** - * 批量删除成品出库记录明细 - * - * @param productOutstockDetailIds 需要删除的成品出库记录明细主键 - * @return 结果 - */ - @Override - public int deleteWmsProductOutstockDetailByProductOutstockDetailIds(Long[] productOutstockDetailIds) { - return wmsProductOutstockDetailMapper.deleteWmsProductOutstockDetailByProductOutstockDetailIds(productOutstockDetailIds); - } - - /** - * 删除成品出库记录明细信息 - * - * @param productOutstockDetailId 成品出库记录明细主键 - * @return 结果 - */ - @Override - public int deleteWmsProductOutstockDetailByProductOutstockDetailId(Long productOutstockDetailId) { - return wmsProductOutstockDetailMapper.deleteWmsProductOutstockDetailByProductOutstockDetailId(productOutstockDetailId); - } -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransactionalServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransactionalServiceImpl.java deleted file mode 100644 index a05bdcd8..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransactionalServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hw.wms.service.impl; - -import com.hw.common.core.constant.WmsConstants; -import com.hw.common.core.exception.ServiceException; -import com.hw.wms.domain.WmsProductStock; -import com.hw.wms.domain.WmsTransfer; -import com.hw.wms.mapper.WmsProductStockMapper; -import com.hw.wms.mapper.WmsTransferMapper; -import com.hw.wms.service.IWmsTransactionalService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * @Description:用来在循环内执行事务时调用 - * @ProjectName:HwMes - * @Author:xins - * @Date:2024-01-15 10:29 - * @Version:1.0 - */ -@Service -public class WmsTransactionalServiceImpl implements IWmsTransactionalService { - @Autowired - private WmsProductStockMapper wmsProductStockMapper; - - @Autowired - private WmsTransferMapper wmsTransferMapper; - - - /** - * @Description: 申请转库(适合五楼半成品出半成品库入成品库) - * @ClassName: WmsTransactionalServiceImpl - * @Author : xins - * @Date :2024-01-15 10:37 - * @Version :1.0 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void applyTransfer(WmsTransfer wmsTransfer, String userName, Date currentDate) { - BigDecimal applyQty = wmsTransfer.getApplyQty(); - String productBatch = wmsTransfer.getProductBatch(); - String oriLocationCode = wmsTransfer.getOriLocationCode(); - WmsProductStock wmsProductStock = wmsProductStockMapper.selectProductStockByLocationAndBatch(oriLocationCode, productBatch,WmsConstants.PRODUCT_STOCK_STOCK_TYPE_SEMI); - if (wmsProductStock == null) { - throw new ServiceException("库位["+oriLocationCode+"]没有此批次["+productBatch+"]的库存"); - } - BigDecimal totalAmount = wmsProductStock.getTotalAmount() == null ? BigDecimal.ZERO : wmsProductStock.getTotalAmount(); - BigDecimal frozenAmount = wmsProductStock.getFrozenAmount() == null ? BigDecimal.ZERO : wmsProductStock.getFrozenAmount(); - BigDecimal occupyAmount = wmsProductStock.getOccupyAmount() == null ? BigDecimal.ZERO : wmsProductStock.getOccupyAmount(); - BigDecimal avaialableAmount = totalAmount.subtract(frozenAmount).subtract(occupyAmount); - if (avaialableAmount.compareTo(applyQty) < 0) { - throw new ServiceException("库位["+oriLocationCode+"],批次["+productBatch+"]的申请数量不能大于" + avaialableAmount); - } - - wmsProductStock.setOccupyAmount(occupyAmount.add(applyQty)); - - wmsProductStockMapper.updateWmsProductStock(wmsProductStock); - - wmsTransfer.setApplyBy(userName); - wmsTransfer.setApplyDate(currentDate); - wmsTransfer.setOperationType(WmsConstants.WMS_OPERATION_TYPE_MANUAL); - wmsTransfer.setTransferType(WmsConstants.WMS_TRANSFER_TYPE_OUT_TO_PRODUCT_STOCK); - wmsTransfer.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); - wmsTransfer.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); - wmsTransferMapper.insertWmsTransfer(wmsTransfer); - } -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransferServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransferServiceImpl.java deleted file mode 100644 index 407fb7d4..00000000 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsTransferServiceImpl.java +++ /dev/null @@ -1,381 +0,0 @@ -package com.hw.wms.service.impl; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -import com.hw.common.core.constant.SecurityConstants; -import com.hw.common.core.constant.WmsConstants; -import com.hw.common.core.domain.R; -import com.hw.common.core.exception.ServiceException; -import com.hw.common.security.utils.SecurityUtils; -import com.hw.mes.api.RemoteMesService; -import com.hw.mes.api.domain.MesBaseBarcodeInfo; -import com.hw.wms.domain.WmsBaseLocation; -import com.hw.wms.domain.WmsProductStock; -import com.hw.wms.mapper.WmsBaseLocationMapper; -import com.hw.wms.mapper.WmsProductStockMapper; -import com.hw.wms.mapper.WmsTransferDetailMapper; -import com.hw.wms.service.IWmsTransactionalService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; - -import com.hw.common.core.utils.StringUtils; -import org.springframework.transaction.annotation.Transactional; -import com.hw.wms.domain.WmsTransferDetail; -import com.hw.wms.mapper.WmsTransferMapper; -import com.hw.wms.domain.WmsTransfer; -import com.hw.wms.service.IWmsTransferService; - -import javax.annotation.Resource; - -/** - * 转库记录Service业务层处理 - * - * @author xins - * @date 2024-01-12 - */ -@Service -public class WmsTransferServiceImpl implements IWmsTransferService { - @Autowired - private WmsTransferMapper wmsTransferMapper; - - @Autowired - private WmsTransferDetailMapper wmsTransferDetailMapper; - - @Autowired - private WmsBaseLocationMapper wmsBaseLocationMapper; - - @Autowired - private WmsProductStockMapper wmsProductStockMapper; - - @Autowired - private IWmsTransactionalService wmsTransactionalService; - - @Resource - private RemoteMesService remoteMesService; - - /** - * 查询转库记录 - * - * @param transferId 转库记录主键 - * @return 转库记录 - */ - @Override - public WmsTransfer selectWmsTransferByTransferId(Long transferId) { - return wmsTransferMapper.selectWmsTransferByTransferId(transferId); - } - - /** - * 查询转库记录列表 - * - * @param wmsTransfer 转库记录 - * @return 转库记录 - */ - @Override - public List selectWmsTransferList(WmsTransfer wmsTransfer) { - return wmsTransferMapper.selectWmsTransferList(wmsTransfer); - } - - /** - * 新增转库记录 - * - * @param wmsTransfer 转库记录 - * @return 结果 - */ - @Transactional - @Override - public int insertWmsTransfer(WmsTransfer wmsTransfer) { - int rows = wmsTransferMapper.insertWmsTransfer(wmsTransfer); - insertWmsTransferDetail(wmsTransfer); - return rows; - } - - /** - * 修改转库记录 - * - * @param wmsTransfer 转库记录 - * @return 结果 - */ - @Transactional - @Override - public int updateWmsTransfer(WmsTransfer wmsTransfer) { - wmsTransferMapper.deleteWmsTransferDetailByTransferId(wmsTransfer.getTransferId()); - insertWmsTransferDetail(wmsTransfer); - return wmsTransferMapper.updateWmsTransfer(wmsTransfer); - } - - /** - * 批量删除转库记录 - * - * @param transferIds 需要删除的转库记录主键 - * @return 结果 - */ - @Transactional - @Override - public int deleteWmsTransferByTransferIds(Long[] transferIds) { - wmsTransferMapper.deleteWmsTransferDetailByTransferIds(transferIds); - return wmsTransferMapper.deleteWmsTransferByTransferIds(transferIds); - } - - /** - * 删除转库记录信息 - * - * @param transferId 转库记录主键 - * @return 结果 - */ - @Transactional - @Override - public int deleteWmsTransferByTransferId(Long transferId) { - wmsTransferMapper.deleteWmsTransferDetailByTransferId(transferId); - return wmsTransferMapper.deleteWmsTransferByTransferId(transferId); - } - - /** - * 新增转库记录明细;移库合库记录对应的明细信息信息 - * - * @param wmsTransfer 转库记录对象 - */ - public void insertWmsTransferDetail(WmsTransfer wmsTransfer) { - List wmsTransferDetailList = wmsTransfer.getWmsTransferDetailList(); - Long transferId = wmsTransfer.getTransferId(); - if (StringUtils.isNotNull(wmsTransferDetailList)) { - List list = new ArrayList(); - for (WmsTransferDetail wmsTransferDetail : wmsTransferDetailList) { - wmsTransferDetail.setTransferId(transferId); - list.add(wmsTransferDetail); - } - if (list.size() > 0) { - wmsTransferMapper.batchWmsTransferDetail(list); - } - } - } - - - /** - * 申请转库(适合五楼半成品库入成品库) - * - * @param wmsTransfers - * @return - */ - @Override - public int applyTransfers(List wmsTransfers) { - String userName = SecurityUtils.getUsername(); - Date currentDate = new Date(); - //todo:生成任务编号 - //需要在循环内执行事务,不能用this调用,需要新建一个Service - wmsTransfers.forEach(wmsTransfer -> { - wmsTransactionalService.applyTransfer(wmsTransfer, userName, currentDate); - }); - - return 1; - } - - /** - * 查询转库记录列表,Join原仓库,目标仓库和物料 - * - * @param wmsTransfer 转库记录 - * @return 转库记录 - */ - @Override - public List selectWmsTransferJoinList(WmsTransfer wmsTransfer) { - return wmsTransferMapper.selectWmsTransferJoinList(wmsTransfer); - } - - - /** - * 转库出库,适合五楼半成品出半成品库 - * - * @param wmsTransferDetail - * @return - */ - @Transactional(rollbackFor = Exception.class) - @Override - public int transferOutstock(WmsTransferDetail wmsTransferDetail) { - String userName = SecurityUtils.getUsername(); - Date currentDate = new Date(); - String locationCode = wmsTransferDetail.getLocationCode(); - String materialBarcode = wmsTransferDetail.getMaterialBarcode(); - - R mesBaseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER); - if (mesBaseBarcodeInfoR == null) { - throw new ServiceException("物料编码错误"); - } - MesBaseBarcodeInfo mesBaseBarcodeInfo = mesBaseBarcodeInfoR.getData(); - if (mesBaseBarcodeInfo == null) { - throw new ServiceException("物料编码错误"); - } - - String productBatch = mesBaseBarcodeInfo.getBatchCode(); - - Long transferId = wmsTransferDetail.getTransferId(); - WmsTransfer wmsTransfer; - - if (transferId == null) { - WmsTransfer queryTransfer = new WmsTransfer(); - queryTransfer.setOriLocationCode(locationCode); - queryTransfer.setProductBatch(productBatch); - queryTransfer.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_NOT_FINISH); - List wmsTransfers = wmsTransferMapper.selectWmsTransferList(queryTransfer); - if (wmsTransfers == null || wmsTransfers.isEmpty()) { - throw new ServiceException("没有此任务"); - } - if (wmsTransfers.size() > 1) { - throw new ServiceException("有多条此库位任务,请选择具体任务后点击出库"); - } - - wmsTransfer = wmsTransfers.get(0); - } else { - wmsTransfer = wmsTransferMapper.selectWmsTransferByTransferId(transferId); - } - - BigDecimal applyQty = wmsTransfer.getApplyQty(); - BigDecimal outstockQty = wmsTransfer.getOutstockQty() == null ? BigDecimal.ZERO : wmsTransfer.getOutstockQty(); - BigDecimal currentOutstockQty = outstockQty.add(BigDecimal.ONE); - if (applyQty.compareTo(currentOutstockQty) < 0) { - throw new ServiceException("已出库完成,不能多次出库"); - } - - //插入转库任务明细 - wmsTransferDetail.setTransferId(wmsTransfer.getTransferId()); - wmsTransferDetail.setInstockBatch(productBatch); - wmsTransferDetail.setMaterialId(mesBaseBarcodeInfo.getMaterialId()); - wmsTransferDetail.setRealAmount(BigDecimal.ONE); - wmsTransferDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - wmsTransferDetail.setTransferDetailType(WmsConstants.WMS_TRANSFER_DETAIL_TYPE_OUTSTOCK); - wmsTransferDetail.setCreateBy(userName); - wmsTransferDetail.setCreateDate(currentDate); - wmsTransferDetail.setExecutePerson(userName); - wmsTransferDetail.setExecuteTime(currentDate); - wmsTransferDetailMapper.insertWmsTransferDetail(wmsTransferDetail); - - //更新转库任务 - wmsTransfer.setOutstockQty(currentOutstockQty); - wmsTransfer.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); - wmsTransfer.setUpdateDate(currentDate); - wmsTransfer.setUpdateBy(userName); - wmsTransferMapper.updateWmsTransfer(wmsTransfer); - - //更新成品库存 - WmsProductStock productStock = wmsProductStockMapper.selectProductStockByLocationAndBatch(locationCode, productBatch,WmsConstants.PRODUCT_STOCK_STOCK_TYPE_SEMI); - productStock.setTotalAmount(productStock.getTotalAmount().subtract(BigDecimal.ONE)); - productStock.setOccupyAmount(productStock.getOccupyAmount().subtract(BigDecimal.ONE)); - productStock.setUpdateDate(currentDate); - productStock.setUpdateBy(userName); - wmsProductStockMapper.updateWmsProductStock(productStock); - - return 1; - } - - /** - * 转库入库,适合五楼半成品入成品库 - * - * @param wmsTransferDetail - * @return - */ - @Transactional(rollbackFor = Exception.class) - @Override - public int transferInstock(WmsTransferDetail wmsTransferDetail) { - String userName = SecurityUtils.getUsername(); - Date currentDate = new Date(); - String locationCode = wmsTransferDetail.getLocationCode(); - String materialBarcode = wmsTransferDetail.getMaterialBarcode(); - - R mesBaseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER); - if (mesBaseBarcodeInfoR == null) { - throw new ServiceException("物料编码错误"); - } - MesBaseBarcodeInfo mesBaseBarcodeInfo = mesBaseBarcodeInfoR.getData(); - if (mesBaseBarcodeInfo == null) { - throw new ServiceException("物料编码错误"); - } - String productBatch = mesBaseBarcodeInfo.getBatchCode(); - - WmsBaseLocation location = wmsBaseLocationMapper.selectWmsBaseLocationByLocationCode(locationCode); - Long warehouseId = location.getWarehouseId(); - - Long transferId = wmsTransferDetail.getTransferId(); - WmsTransfer wmsTransfer; - if (transferId == null) { - WmsTransfer queryTransfer = new WmsTransfer(); - queryTransfer.setTargetWarehouseId(warehouseId); - queryTransfer.setProductBatch(productBatch); - queryTransfer.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); - List wmsTransfers = wmsTransferMapper.selectWmsTransferList(queryTransfer); - if (wmsTransfers == null || wmsTransfers.isEmpty()) { - throw new ServiceException("没有此任务或者还未出库"); - } - if (wmsTransfers.size() > 1) { - throw new ServiceException("有多条此库位任务,请选择具体任务后点击出库"); - } - - wmsTransfer = wmsTransfers.get(0); - } else { - wmsTransfer = wmsTransferMapper.selectWmsTransferByTransferId(transferId); - } - - BigDecimal applyQty = wmsTransfer.getApplyQty(); - BigDecimal outstockQty = wmsTransfer.getOutstockQty() == null ? BigDecimal.ZERO : wmsTransfer.getOutstockQty(); - BigDecimal instockQty = wmsTransfer.getInstockQty(); - BigDecimal currentInstockQty = instockQty.add(BigDecimal.ONE); - - if (outstockQty.compareTo(currentInstockQty) < 0) { - throw new ServiceException("请先出库再入库"); - } - - //插入转库任务明细 - wmsTransferDetail.setTransferId(wmsTransfer.getTransferId()); - wmsTransferDetail.setInstockBatch(productBatch); - wmsTransferDetail.setMaterialId(mesBaseBarcodeInfo.getMaterialId()); - wmsTransferDetail.setRealAmount(BigDecimal.ONE); - wmsTransferDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - wmsTransferDetail.setTransferDetailType(WmsConstants.WMS_TRANSFER_DETAIL_TYPE_INSTOCK); - wmsTransferDetail.setCreateBy(userName); - wmsTransferDetail.setCreateDate(currentDate); - wmsTransferDetail.setExecutePerson(userName); - wmsTransferDetail.setExecuteTime(currentDate); - wmsTransferDetailMapper.insertWmsTransferDetail(wmsTransferDetail); - - //更新转库任务 - wmsTransfer.setInstockQty(currentInstockQty); - if (applyQty.compareTo(currentInstockQty) == 0) {//出库和入库都已完成 - wmsTransfer.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - } - - wmsTransfer.setUpdateDate(currentDate); - wmsTransfer.setUpdateBy(userName); - wmsTransferMapper.updateWmsTransfer(wmsTransfer); - - //更新成品库存 - WmsProductStock productStock = wmsProductStockMapper.selectProductStockByLocationAndBatch(locationCode, productBatch,WmsConstants.PRODUCT_STOCK_STOCK_TYPE_PRODUCT); - if (productStock == null) { - productStock = new WmsProductStock(); - productStock.setTotalAmount(BigDecimal.ONE); - productStock.setWarehouseId(warehouseId); - productStock.setLocationCode(locationCode); - productStock.setStockType(WmsConstants.PRODUCT_STOCK_STOCK_TYPE_PRODUCT); - productStock.setProductBatch(productBatch); - // productStock.setQualityStatus();//todo: 获取质检状态 - productStock.setProductId(mesBaseBarcodeInfo.getMaterialId()); - productStock.setPlanCode(mesBaseBarcodeInfo.getPlanCode()); - productStock.setPlanDetailCode(mesBaseBarcodeInfo.getPlanDetailCode()); - productStock.setSaleorderCode(mesBaseBarcodeInfo.getSaleorderCode()); - productStock.setCreateDate(currentDate); - productStock.setCreateBy(userName); - wmsProductStockMapper.insertWmsProductStock(productStock); - } else { - productStock.setTotalAmount(productStock.getTotalAmount().add(BigDecimal.ONE)); - productStock.setUpdateDate(currentDate); - productStock.setUpdateBy(userName); - wmsProductStockMapper.updateWmsProductStock(productStock); - } - - - //TODO:同步ERP库存 - return 1; - } - - -} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsWarehouseMaterialServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsWarehouseMaterialServiceImpl.java new file mode 100644 index 00000000..7fd5ae53 --- /dev/null +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsWarehouseMaterialServiceImpl.java @@ -0,0 +1,134 @@ +package com.hw.wms.service.impl; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.hw.common.core.constant.WmsConstants; +import com.hw.common.core.utils.DateUtils; +import com.hw.common.core.utils.StringUtils; +import com.hw.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.hw.wms.mapper.WmsWarehouseMaterialMapper; +import com.hw.wms.domain.WmsWarehouseMaterial; +import com.hw.wms.service.IWmsWarehouseMaterialService; + +/** + * 仓库可储存物料信息Service业务层处理 + * + * @author xins + * @date 2024-01-09 + */ +@Service +public class WmsWarehouseMaterialServiceImpl implements IWmsWarehouseMaterialService { + @Autowired + private WmsWarehouseMaterialMapper wmsWarehouseMaterialMapper; + + /** + * 查询仓库可储存物料信息 + * + * @param warehouseId 仓库可储存物料信息主键 + * @return 仓库可储存物料信息 + */ + @Override + public WmsWarehouseMaterial selectWmsWarehouseMaterialByWarehouseId(Long warehouseId) { + return wmsWarehouseMaterialMapper.selectWmsWarehouseMaterialByWarehouseId(warehouseId); + } + + /** + * 查询仓库可储存物料信息列表 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 仓库可储存物料信息 + */ + @Override + public List selectWmsWarehouseMaterialList(WmsWarehouseMaterial wmsWarehouseMaterial) { + return wmsWarehouseMaterialMapper.selectWmsWarehouseMaterialList(wmsWarehouseMaterial); + } + + /** + * 新增仓库可储存物料信息 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 结果 + */ + @Override + public int insertWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial) { + wmsWarehouseMaterial.setCreateTime(DateUtils.getNowDate()); + return wmsWarehouseMaterialMapper.insertWmsWarehouseMaterial(wmsWarehouseMaterial); + } + + /** + * 修改仓库可储存物料信息 + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 结果 + */ + @Override + public int updateWmsWarehouseMaterial(WmsWarehouseMaterial wmsWarehouseMaterial) { + return wmsWarehouseMaterialMapper.updateWmsWarehouseMaterial(wmsWarehouseMaterial); + } + + /** + * 批量删除仓库可储存物料信息 + * + * @param wmsWarehouseMaterialIds 需要删除的仓库可储存物料信息主键 + * @return 结果 + */ + @Override + public int deleteWmsWarehouseMaterialByWarehouseMaterialIds(Long[] wmsWarehouseMaterialIds) { + return wmsWarehouseMaterialMapper.deleteWmsWarehouseMaterialByWarehouseMaterialIds(wmsWarehouseMaterialIds); + } + + /** + * 删除仓库可储存物料信息信息 + * + * @param warehouseMaterialId 仓库可储存物料信息主键 + * @return 结果 + */ + @Override + public int deleteWmsWarehouseMaterialByWarehouseMaterialId(Long warehouseMaterialId) { + return wmsWarehouseMaterialMapper.deleteWmsWarehouseMaterialByWarehouseMaterialId(warehouseMaterialId); + } + + + /** + * 查询仓库可储存物料信息列表,join material + * + * @param wmsWarehouseMaterial 仓库可储存物料信息 + * @return 仓库可储存物料信息 + */ + @Override + public List selectWmsWarehouseMaterialJoinList(WmsWarehouseMaterial wmsWarehouseMaterial) { + return wmsWarehouseMaterialMapper.selectWmsWarehouseMaterialJoinList(wmsWarehouseMaterial); + } + + /** + * 批量新增仓库配置物料信息 + * + * @param warehouseId 仓库ID + * @param materialIds 物料组 + */ + @Override + public void batchInsertWarehouseMaterial(Long warehouseId, Long[] materialIds) { + if (StringUtils.isNotEmpty(materialIds)) { + String userName = SecurityUtils.getUsername(); + Date currentDate = new Date(); + // 新增仓库的物料配置信息 + List list = new ArrayList(); + for (Long materialId : materialIds) { + WmsWarehouseMaterial warehouseMaterial = new WmsWarehouseMaterial(); + warehouseMaterial.setWarehouseId(warehouseId); + warehouseMaterial.setStorageType(WmsConstants.WMS_WAREHOUSE_MATERIAL_STORAGE_TYPE_MATERIAL); + warehouseMaterial.setStorageId(materialId); + warehouseMaterial.setCreateBy(userName); + warehouseMaterial.setCreateTime(currentDate); + list.add(warehouseMaterial); + } + wmsWarehouseMaterialMapper.batchInsertWarehouseMaterial(list); + } + } + + +} diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsProductOutstockDetailMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsProductOutstockDetailMapper.xml deleted file mode 100644 index 5e78951a..00000000 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsProductOutstockDetailMapper.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - select product_outstock_detail_id, product_outstock_id, warehouse_id, location_code, product_barcode, product_batch, product_id, plan_amount, outstock_amount, execute_status, erp_status, update_by, update_date, begin_time, end_time from wms_product_outstock_detail - - - - - - - - insert into wms_product_outstock_detail - - product_outstock_id, - warehouse_id, - location_code, - product_barcode, - product_batch, - product_id, - plan_amount, - outstock_amount, - execute_status, - erp_status, - update_by, - update_date, - begin_time, - end_time, - - - #{productOutstockId}, - #{warehouseId}, - #{locationCode}, - #{productBarcode}, - #{productBatch}, - #{productId}, - #{planAmount}, - #{outstockAmount}, - #{executeStatus}, - #{erpStatus}, - #{updateBy}, - #{updateDate}, - #{beginTime}, - #{endTime}, - - - - - update wms_product_outstock_detail - - product_outstock_id = #{productOutstockId}, - warehouse_id = #{warehouseId}, - location_code = #{locationCode}, - product_barcode = #{productBarcode}, - product_batch = #{productBatch}, - product_id = #{productId}, - plan_amount = #{planAmount}, - outstock_amount = #{outstockAmount}, - execute_status = #{executeStatus}, - erp_status = #{erpStatus}, - update_by = #{updateBy}, - update_date = #{updateDate}, - begin_time = #{beginTime}, - end_time = #{endTime}, - - where product_outstock_detail_id = #{productOutstockDetailId} - - - - delete from wms_product_outstock_detail where product_outstock_detail_id = #{productOutstockDetailId} - - - - delete from wms_product_outstock_detail where product_outstock_detail_id in - - #{productOutstockDetailId} - - - diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferDetailMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferDetailMapper.xml deleted file mode 100644 index f9e2ee99..00000000 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferDetailMapper.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - select transfer_detail_id, transfer_id, location_code, material_barcode, instock_batch, material_id, plan_amount, real_amount, execute_status, execute_person, execute_time, transfer_detail_type, machine_name, create_by, create_date, update_by, update_date, active_flag from wms_transfer_detail - - - - - - - - insert into wms_transfer_detail - - transfer_id, - location_code, - material_barcode, - instock_batch, - material_id, - plan_amount, - real_amount, - execute_status, - execute_person, - execute_time, - transfer_detail_type, - machine_name, - create_by, - create_date, - update_by, - update_date, - active_flag, - - - #{transferId}, - #{locationCode}, - #{materialBarcode}, - #{instockBatch}, - #{materialId}, - #{planAmount}, - #{realAmount}, - #{executeStatus}, - #{executePerson}, - #{executeTime}, - #{transferDetailType}, - #{machineName}, - #{createBy}, - #{createDate}, - #{updateBy}, - #{updateDate}, - #{activeFlag}, - - - - - update wms_transfer_detail - - transfer_id = #{transferId}, - location_code = #{locationCode}, - material_barcode = #{materialBarcode}, - instock_batch = #{instockBatch}, - material_id = #{materialId}, - plan_amount = #{planAmount}, - real_amount = #{realAmount}, - execute_status = #{executeStatus}, - execute_person = #{executePerson}, - execute_time = #{executeTime}, - transfer_detail_type = #{transferDetailType}, - machine_name = #{machineName}, - create_by = #{createBy}, - create_date = #{createDate}, - update_by = #{updateBy}, - update_date = #{updateDate}, - active_flag = #{activeFlag}, - - where transfer_detail_id = #{transferDetailId} - - - - delete from wms_transfer_detail where transfer_detail_id = #{transferDetailId} - - - - delete from wms_transfer_detail where transfer_detail_id in - - #{transferDetailId} - - - \ No newline at end of file diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferMapper.xml deleted file mode 100644 index c20ada95..00000000 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsTransferMapper.xml +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select transfer_id, task_code, ori_warehouse_id, ori_location_code, target_warehouse_id, target_location_code, material_id, product_batch, plan_code, apply_qty, outstock_qty, instock_qty, operation_type, transfer_type, apply_reason, audit_reason, audit_status, execute_status, apply_by, apply_date, audit_by, audit_date, update_by, update_date, begin_time, end_time from wms_transfer - - - - - - - - insert into wms_transfer - - task_code, - ori_warehouse_id, - ori_location_code, - target_warehouse_id, - target_location_code, - material_id, - product_batch, - plan_code, - apply_qty, - outstock_qty, - instock_qty, - operation_type, - transfer_type, - apply_reason, - audit_reason, - audit_status, - execute_status, - apply_by, - apply_date, - audit_by, - audit_date, - update_by, - update_date, - begin_time, - end_time, - - - #{taskCode}, - #{oriWarehouseId}, - #{oriLocationCode}, - #{targetWarehouseId}, - #{targetLocationCode}, - #{materialId}, - #{productBatch}, - #{planCode}, - #{applyQty}, - #{outstockQty}, - #{instockQty}, - #{operationType}, - #{transferType}, - #{applyReason}, - #{auditReason}, - #{auditStatus}, - #{executeStatus}, - #{applyBy}, - #{applyDate}, - #{auditBy}, - #{auditDate}, - #{updateBy}, - #{updateDate}, - #{beginTime}, - #{endTime}, - - - - - update wms_transfer - - task_code = #{taskCode}, - ori_warehouse_id = #{oriWarehouseId}, - ori_location_code = #{oriLocationCode}, - target_warehouse_id = #{targetWarehouseId}, - target_location_code = #{targetLocationCode}, - material_id = #{materialId}, - product_batch = #{productBatch}, - plan_code = #{planCode}, - apply_qty = #{applyQty}, - outstock_qty = #{outstockQty}, - instock_qty = #{instockQty}, - operation_type = #{operationType}, - transfer_type = #{transferType}, - apply_reason = #{applyReason}, - audit_reason = #{auditReason}, - audit_status = #{auditStatus}, - execute_status = #{executeStatus}, - apply_by = #{applyBy}, - apply_date = #{applyDate}, - audit_by = #{auditBy}, - audit_date = #{auditDate}, - update_by = #{updateBy}, - update_date = #{updateDate}, - begin_time = #{beginTime}, - end_time = #{endTime}, - - where transfer_id = #{transferId} - - - - delete from wms_transfer where transfer_id = #{transferId} - - - - delete from wms_transfer where transfer_id in - - #{transferId} - - - - - delete from wms_transfer_detail where transfer_id in - - #{transferId} - - - - - delete from wms_transfer_detail where transfer_id = #{transferId} - - - - insert into wms_transfer_detail( transfer_detail_id, transfer_id, location_code, material_barcode, instock_batch, material_id, plan_amount, real_amount, execute_status, execute_person, execute_time, transfer_detail_type, machine_name, create_by, create_date, update_by, update_date, active_flag) values - - ( #{item.transferDetailId}, #{item.transferId}, #{item.locationCode}, #{item.materialBarcode}, #{item.instockBatch}, #{item.materialId}, #{item.planAmount}, #{item.realAmount}, #{item.executeStatus}, #{item.executePerson}, #{item.executeTime}, #{item.transferDetailType}, #{item.machineName}, #{item.createBy}, #{item.createDate}, #{item.updateBy}, #{item.updateDate}, #{item.activeFlag}) - - - - - - - - - - - - - - - - - diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsWarehouseMaterialMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsWarehouseMaterialMapper.xml new file mode 100644 index 00000000..85025480 --- /dev/null +++ b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsWarehouseMaterialMapper.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + select warehouse_id, location_code, storage_type, storage_id, create_time, create_by from wms_warehouse_material + + + + + + + + insert into wms_warehouse_material + + warehouse_id, + location_code, + storage_type, + storage_id, + create_time, + create_by, + + + #{warehouseId}, + #{locationCode}, + #{storageType}, + #{storageId}, + #{createTime}, + #{createBy}, + + + + + update wms_warehouse_material + + location_code = #{locationCode}, + storage_type = #{storageType}, + storage_id = #{storageId}, + create_time = #{createTime}, + create_by = #{createBy}, + + where warehouse_id = #{warehouseId} + + + + delete from wms_warehouse_material where warehouse_material_id = #{warehouseMaterialId} + + + + delete from wms_warehouse_material where warehouse_material_id in + + #{warehouseMaterialId} + + + + + + + + + + insert into wms_warehouse_material(warehouse_id, storage_type,storage_id,create_time,create_by) values + + (#{item.warehouseId},#{item.storageType},#{item.storageId},#{item.createTime},#{item.createBy}) + + + + +