diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/uuid/Seq.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/uuid/Seq.java index 672686c6..0a6d2bc8 100644 --- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/uuid/Seq.java +++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/uuid/Seq.java @@ -212,6 +212,17 @@ public class Seq { // 物料合库记录标识 public static final String wmsMergeSeqCode = "ME"; + + + // 原材料入库记录序列类型 + public static final String rawInstockSeqType = "RAWINSTOCK"; + + // 原材料入库记录接口序列数 + private static AtomicInteger rawInstockSeq = new AtomicInteger(1); + + // 原材料入库记录标识 + public static final String rawInstockSeqCode = "RI"; + /** * 获取通用序列号 * @@ -312,6 +323,8 @@ public class Seq { atomicInt = wmsMoveSeq; }else if(wmsMergeSeqType.equals(type)) { atomicInt = wmsMergeSeq; + }else if(rawInstockSeqType.equals(type)) { + atomicInt = rawInstockSeq; } return getId(atomicInt, 3, code); } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsMobileController.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsMobileController.java index 3f6340e9..e3c2cc4a 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsMobileController.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/controller/WmsMobileController.java @@ -106,7 +106,7 @@ public class WmsMobileController extends BaseController { startPage(); WmsRawOutstock wmsRawOutstock = new WmsRawOutstock(); wmsRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_TOAUDIT); - List list = wmsRawOutstockService.selectWmsRawOutstockJoinList(wmsRawOutstock); + List list = wmsRawOutstockService.selectWmsRawOutstockJoinList4Audit(wmsRawOutstock); return getDataTable(list); } @@ -114,9 +114,14 @@ public class WmsMobileController extends BaseController { * 获取原材料出库记录详细信息 */ // @RequiresPermissions("wms:rawoutstock:query") - @GetMapping(value = "/getRawOutstockByOutstockId/{rawOutstockId}") - public AjaxResult getRawOutstockByOutstockId(@PathVariable("rawOutstockId") Long rawOutstockId) { - return success(wmsRawOutstockService.selectWmsRawOutstockByRawOutstockId(rawOutstockId)); +// @GetMapping(value = "/getRawOutstockByOutstockId/{rawOutstockId}") +// public AjaxResult getRawOutstockByOutstockId(@PathVariable("rawOutstockId") Long rawOutstockId) { +// return success(wmsRawOutstockService.selectWmsRawOutstockByRawOutstockId(rawOutstockId)); +// } + + @GetMapping(value = "/getRawOutstockByTaskCode/{taskCode}") + public AjaxResult getRawOutstockByTaskCode(@PathVariable("taskCode") String taskCode) { + return success(wmsRawOutstockService.selectWmsRawOutstockByTaskCode(taskCode)); } /** @@ -133,11 +138,11 @@ public class WmsMobileController extends BaseController { */ // @RequiresPermissions("wms:rawoutstock:list") @GetMapping("/getAuditPassRawOutstockDetails") - public TableDataInfo getAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail) { + public TableDataInfo getAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock) { startPage(); // WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail(); // wmsRawOutstockDetail.setApplyBy(request.getParameter("applyBy")); - List list = wmsRawOutstockService.selectAuditPassRawOutstockDetails(wmsRawOutstockDetail); + List list = wmsRawOutstockService.selectAuditPassRawOutstocks(wmsRawOutstock); return getDataTable(list); } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstock.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstock.java index 8313f03f..da43c71b 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstock.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstock.java @@ -1,6 +1,6 @@ package com.hw.wms.domain; -import java.util.List; +import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -10,9 +10,9 @@ import com.hw.common.core.web.domain.BaseEntity; /** * 原材料入库记录对象 wms_raw_instock - * + * * @author xs - * @date 2023-12-21 + * @date 2024-03-27 */ public class WmsRawInstock extends BaseEntity { @@ -37,47 +37,62 @@ public class WmsRawInstock extends BaseEntity @Excel(name = "采购订单号,入库扫描条码时获取唯一条码") private String poNo; - /** 操作类型(0自动,1手动,2强制,3调度) */ - @Excel(name = "操作类型(0自动,1手动,2强制,3调度)") + /** 操作类型(0自动,1人工,2强制,3调度) */ + @Excel(name = "操作类型(0自动,1人工,2强制,3调度)") private String operationType; - /** 入库类型(1采购入库,2移库入库,3合库入库,9其他入库) */ - @Excel(name = "入库类型(1采购入库,2移库入库,3合库入库,9其他入库)") + /** 入库类型(1采购入库,2返库入库,9其他入库) */ + @Excel(name = "入库类型(1采购入库,2返库入库,9其他入库)") private String instockType; - /** 申请原因 */ - @Excel(name = "申请原因") - private String applyReason; + /** 物料ID,关联物料信息主键 */ + @Excel(name = "物料ID,关联物料信息主键") + private Long materialId; - /** 审核原因 */ - @Excel(name = "审核原因") - private String auditReason; + /** 物料条码,人工存放 */ + @Excel(name = "物料条码,人工存放") + private String materialBarcode; - /** 审核状态(0待审核,1审核通过,2审核未通过) */ - @Excel(name = "审核状态(0待审核,1审核通过,2审核未通过)") - private String auditStatus; + /** agv的存批次条码 */ + @Excel(name = "agv的存批次条码") + private String materialBatchCode; + + /** 托盘RFID代码(如果是五楼辅料库存放料箱编码) */ + @Excel(name = "托盘RFID代码", readConverterExp = "如=果是五楼辅料库存放料箱编码") + private String palletInfoCode; + + /** 入库数量 */ + @Excel(name = "入库数量") + private BigDecimal instockAmount; /** 执行状态(0待执行,1执行中,2执行完成) */ @Excel(name = "执行状态(0待执行,1执行中,2执行完成)") private String executeStatus; - /** 申请人 */ - @Excel(name = "申请人") + /** 同步ERP状态(0:失败,1成功) */ + @Excel(name = "同步ERP状态(0:失败,1成功)") + private String erpStatus; + + /** 同步给ERP的数量 */ + @Excel(name = "同步给ERP的数量") + private String erpAmount; + + /** 入库人 */ + @Excel(name = "入库人") private String applyBy; - /** 申请时间 */ + /** 入库时间 */ @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd") private Date applyDate; - /** 审核人 */ - @Excel(name = "审核人") - private String auditBy; + /** 机台名称 */ + @Excel(name = "机台名称") + private String machineName; - /** 审核时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date auditDate; + /** 质检状态(0:待质检,1:合格,2:NG) */ + @Excel(name = "质检状态(0:待质检,1:合格,2:NG)") + private String qualityStatus; /** 最后更新时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @@ -94,205 +109,231 @@ public class WmsRawInstock extends BaseEntity @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd") private Date endTime; - /** 原材料入库记录明细信息 */ - private List wmsRawInstockDetailList; - - public void setRawInstockId(Long rawInstockId) + public void setRawInstockId(Long rawInstockId) { this.rawInstockId = rawInstockId; } - public Long getRawInstockId() + public Long getRawInstockId() { return rawInstockId; } - public void setTaskCode(String taskCode) + public void setTaskCode(String taskCode) { this.taskCode = taskCode; } - public String getTaskCode() + public String getTaskCode() { return taskCode; } - public void setWarehouseId(Long warehouseId) + public void setWarehouseId(Long warehouseId) { this.warehouseId = warehouseId; } - public Long getWarehouseId() + public Long getWarehouseId() { return warehouseId; } - public void setLocationCode(String locationCode) + public void setLocationCode(String locationCode) { this.locationCode = locationCode; } - public String getLocationCode() + public String getLocationCode() { return locationCode; } - public void setPoNo(String poNo) + public void setPoNo(String poNo) { this.poNo = poNo; } - public String getPoNo() + public String getPoNo() { return poNo; } - public void setOperationType(String operationType) + public void setOperationType(String operationType) { this.operationType = operationType; } - public String getOperationType() + public String getOperationType() { return operationType; } - public void setInstockType(String instockType) + public void setInstockType(String instockType) { this.instockType = instockType; } - public String getInstockType() + public String getInstockType() { return instockType; } - public void setApplyReason(String applyReason) + public void setMaterialId(Long materialId) { - this.applyReason = applyReason; + this.materialId = materialId; } - public String getApplyReason() + public Long getMaterialId() { - return applyReason; + return materialId; } - public void setAuditReason(String auditReason) + public void setMaterialBarcode(String materialBarcode) { - this.auditReason = auditReason; + this.materialBarcode = materialBarcode; } - public String getAuditReason() + public String getMaterialBarcode() { - return auditReason; + return materialBarcode; } - public void setAuditStatus(String auditStatus) + public void setMaterialBatchCode(String materialBatchCode) { - this.auditStatus = auditStatus; + this.materialBatchCode = materialBatchCode; } - public String getAuditStatus() + public String getMaterialBatchCode() { - return auditStatus; + return materialBatchCode; } - public void setExecuteStatus(String executeStatus) + public void setPalletInfoCode(String palletInfoCode) + { + this.palletInfoCode = palletInfoCode; + } + + public String getPalletInfoCode() + { + return palletInfoCode; + } + public void setInstockAmount(BigDecimal instockAmount) + { + this.instockAmount = instockAmount; + } + + public BigDecimal getInstockAmount() + { + return instockAmount; + } + public void setExecuteStatus(String executeStatus) { this.executeStatus = executeStatus; } - public String getExecuteStatus() + public String getExecuteStatus() { return executeStatus; } - public void setApplyBy(String applyBy) + public void setErpStatus(String erpStatus) + { + this.erpStatus = erpStatus; + } + + public String getErpStatus() + { + return erpStatus; + } + public void setErpAmount(String erpAmount) + { + this.erpAmount = erpAmount; + } + + public String getErpAmount() + { + return erpAmount; + } + public void setApplyBy(String applyBy) { this.applyBy = applyBy; } - public String getApplyBy() + public String getApplyBy() { return applyBy; } - public void setApplyDate(Date applyDate) + public void setApplyDate(Date applyDate) { this.applyDate = applyDate; } - public Date getApplyDate() + public Date getApplyDate() { return applyDate; } - public void setAuditBy(String auditBy) + public void setMachineName(String machineName) { - this.auditBy = auditBy; + this.machineName = machineName; } - public String getAuditBy() + public String getMachineName() { - return auditBy; + return machineName; } - public void setAuditDate(Date auditDate) + public void setQualityStatus(String qualityStatus) { - this.auditDate = auditDate; + this.qualityStatus = qualityStatus; } - public Date getAuditDate() + public String getQualityStatus() { - return auditDate; + return qualityStatus; } - public void setUpdateDate(Date updateDate) + public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } - public Date getUpdateDate() + public Date getUpdateDate() { return updateDate; } - public void setBeginTime(Date beginTime) + public void setBeginTime(Date beginTime) { this.beginTime = beginTime; } - public Date getBeginTime() + public Date getBeginTime() { return beginTime; } - public void setEndTime(Date endTime) + public void setEndTime(Date endTime) { this.endTime = endTime; } - public Date getEndTime() + public Date getEndTime() { return endTime; } - public List getWmsRawInstockDetailList() - { - return wmsRawInstockDetailList; - } - - public void setWmsRawInstockDetailList(List wmsRawInstockDetailList) - { - this.wmsRawInstockDetailList = wmsRawInstockDetailList; - } - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("rawInstockId", getRawInstockId()) - .append("taskCode", getTaskCode()) - .append("warehouseId", getWarehouseId()) - .append("locationCode", getLocationCode()) - .append("poNo", getPoNo()) - .append("operationType", getOperationType()) - .append("instockType", getInstockType()) - .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("wmsRawInstockDetailList", getWmsRawInstockDetailList()) - .toString(); + .append("rawInstockId", getRawInstockId()) + .append("taskCode", getTaskCode()) + .append("warehouseId", getWarehouseId()) + .append("locationCode", getLocationCode()) + .append("poNo", getPoNo()) + .append("operationType", getOperationType()) + .append("instockType", getInstockType()) + .append("materialId", getMaterialId()) + .append("materialBarcode", getMaterialBarcode()) + .append("materialBatchCode", getMaterialBatchCode()) + .append("palletInfoCode", getPalletInfoCode()) + .append("instockAmount", getInstockAmount()) + .append("executeStatus", getExecuteStatus()) + .append("erpStatus", getErpStatus()) + .append("erpAmount", getErpAmount()) + .append("applyBy", getApplyBy()) + .append("applyDate", getApplyDate()) + .append("machineName", getMachineName()) + .append("qualityStatus", getQualityStatus()) + .append("updateBy", getUpdateBy()) + .append("updateDate", getUpdateDate()) + .append("beginTime", getBeginTime()) + .append("endTime", getEndTime()) + .toString(); } } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java index 4c2fea01..b38ec10a 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawInstockDetail.java @@ -1,336 +1,336 @@ -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_raw_instock_detail - * - * @author xs - * @date 2023-12-21 - */ -public class WmsRawInstockDetail extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 原材料入库记录明细ID */ - private Long rawInstockDetailId; - - /** 原材料入库ID */ - @Excel(name = "原材料入库ID") - private Long rawInstockId; - - /** 库位编码 */ - @Excel(name = "库位编码") - private String locationCode; - - /** 存放物料条码 */ - @Excel(name = "存放物料条码") - private String materialBarcode; - - /** 物料ID */ - @Excel(name = "物料ID") - private Long materialId; - - /** 批次;入库扫描条码时,从打印条码记录表中获取 */ - @Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取") - private String instockBatch; - - /** 生产日期;入库扫描条码时,从打印条码记录表中获取 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "生产日期;入库扫描条码时,从打印条码记录表中获取", width = 30, dateFormat = "yyyy-MM-dd") - private Date materialProductionDate; - - /** 入库数量 */ - @Excel(name = "计划数量") - private BigDecimal planAmount; - - /** 入库数量 */ - @Excel(name = "入库数量") - private BigDecimal instockAmount; - - /** 执行状态(0待执行,1执行中,2执行完成) */ - @Excel(name = "执行状态(0待执行,1执行中,2执行完成)") - private String executeStatus; - - /** 同步ERP状态(0:失败,1成功) */ - @Excel(name = "同步ERP状态(0:失败,1成功)") - private String erpStatus; - - /** 入库人 */ - @Excel(name = "入库人") - private String instockPerson; - - /** 入库时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date instockTime; - - /** 入库方式( 0:PC入库 1:手持入库 2:AGV入库 ) */ - @Excel(name = "入库方式", readConverterExp = "0=:PC入库,1=:手持入库,2=:AGV入库") - private String instockWay; - - /** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */ - @Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取") - private String machineName; - - /** 质检状态(0:待质检,1:合格,2:NG) */ - @Excel(name = "质检状态(0:待质检,1:合格,2:NG)") - private String qualityStatus; - - /** 每托数量 */ - @Excel(name = "每托数量") - private BigDecimal stackAmount; - - /** 创建时间 */ - @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; - - //采购订单号 - private String poNo; - /** 采购订单行项目 */ - @Excel(name = "采购订单行项目") - private String poLine; - - public void setRawInstockDetailId(Long rawInstockDetailId) - { - this.rawInstockDetailId = rawInstockDetailId; - } - - public Long getRawInstockDetailId() - { - return rawInstockDetailId; - } - public void setRawInstockId(Long rawInstockId) - { - this.rawInstockId = rawInstockId; - } - - public Long getRawInstockId() - { - return rawInstockId; - } - 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 setMaterialId(Long materialId) - { - this.materialId = materialId; - } - - public Long getMaterialId() - { - return materialId; - } - public void setInstockBatch(String instockBatch) - { - this.instockBatch = instockBatch; - } - - public String getInstockBatch() - { - return instockBatch; - } - public void setMaterialProductionDate(Date materialProductionDate) - { - this.materialProductionDate = materialProductionDate; - } - - public Date getMaterialProductionDate() - { - return materialProductionDate; - } - - public BigDecimal getPlanAmount() { - return planAmount; - } - - public void setPlanAmount(BigDecimal planAmount) { - this.planAmount = planAmount; - } - - public void setInstockAmount(BigDecimal instockAmount) - { - this.instockAmount = instockAmount; - } - - public BigDecimal getInstockAmount() - { - return instockAmount; - } - public void setExecuteStatus(String executeStatus) - { - this.executeStatus = executeStatus; - } - - public String getExecuteStatus() - { - return executeStatus; - } - public void setErpStatus(String erpStatus) - { - this.erpStatus = erpStatus; - } - - public String getErpStatus() - { - return erpStatus; - } - public void setInstockPerson(String instockPerson) - { - this.instockPerson = instockPerson; - } - - public String getInstockPerson() - { - return instockPerson; - } - public void setInstockTime(Date instockTime) - { - this.instockTime = instockTime; - } - - public Date getInstockTime() - { - return instockTime; - } - public void setInstockWay(String instockWay) - { - this.instockWay = instockWay; - } - - public String getInstockWay() - { - return instockWay; - } - public void setMachineName(String machineName) - { - this.machineName = machineName; - } - - public String getMachineName() - { - return machineName; - } - public void setQualityStatus(String qualityStatus) - { - this.qualityStatus = qualityStatus; - } - - public String getQualityStatus() - { - return qualityStatus; - } - public void setStackAmount(BigDecimal stackAmount) - { - this.stackAmount = stackAmount; - } - - public BigDecimal getStackAmount() - { - return stackAmount; - } - 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; - } - - public String getPoNo() { - return poNo; - } - - public void setPoNo(String poNo) { - this.poNo = poNo; - } - - public void setPoLine(String poLine) - { - this.poLine = poLine; - } - - public String getPoLine() - { - return poLine; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("rawInstockDetailId", getRawInstockDetailId()) - .append("rawInstockId", getRawInstockId()) - .append("locationCode", getLocationCode()) - .append("materialBarcode", getMaterialBarcode()) - .append("materialId", getMaterialId()) - .append("instockBatch", getInstockBatch()) - .append("materialProductionDate", getMaterialProductionDate()) - .append("instockAmount", getInstockAmount()) - .append("executeStatus", getExecuteStatus()) - .append("erpStatus", getErpStatus()) - .append("instockPerson", getInstockPerson()) - .append("instockTime", getInstockTime()) - .append("instockWay", getInstockWay()) - .append("machineName", getMachineName()) - .append("qualityStatus", getQualityStatus()) - .append("stackAmount", getStackAmount()) - .append("createBy", getCreateBy()) - .append("createDate", getCreateDate()) - .append("updateBy", getUpdateBy()) - .append("updateDate", getUpdateDate()) - .append("activeFlag", getActiveFlag()) - .append("poLine", getPoLine()) - .toString(); - } -} +//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_raw_instock_detail +// * +// * @author xs +// * @date 2023-12-21 +// */ +//public class WmsRawInstockDetail extends BaseEntity +//{ +// private static final long serialVersionUID = 1L; +// +// /** 原材料入库记录明细ID */ +// private Long rawInstockDetailId; +// +// /** 原材料入库ID */ +// @Excel(name = "原材料入库ID") +// private Long rawInstockId; +// +// /** 库位编码 */ +// @Excel(name = "库位编码") +// private String locationCode; +// +// /** 存放物料条码 */ +// @Excel(name = "存放物料条码") +// private String materialBarcode; +// +// /** 物料ID */ +// @Excel(name = "物料ID") +// private Long materialId; +// +// /** 批次;入库扫描条码时,从打印条码记录表中获取 */ +// @Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取") +// private String instockBatch; +// +// /** 生产日期;入库扫描条码时,从打印条码记录表中获取 */ +// @JsonFormat(pattern = "yyyy-MM-dd") +// @Excel(name = "生产日期;入库扫描条码时,从打印条码记录表中获取", width = 30, dateFormat = "yyyy-MM-dd") +// private Date materialProductionDate; +// +// /** 入库数量 */ +// @Excel(name = "计划数量") +// private BigDecimal planAmount; +// +// /** 入库数量 */ +// @Excel(name = "入库数量") +// private BigDecimal instockAmount; +// +// /** 执行状态(0待执行,1执行中,2执行完成) */ +// @Excel(name = "执行状态(0待执行,1执行中,2执行完成)") +// private String executeStatus; +// +// /** 同步ERP状态(0:失败,1成功) */ +// @Excel(name = "同步ERP状态(0:失败,1成功)") +// private String erpStatus; +// +// /** 入库人 */ +// @Excel(name = "入库人") +// private String instockPerson; +// +// /** 入库时间 */ +// @JsonFormat(pattern = "yyyy-MM-dd") +// @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd") +// private Date instockTime; +// +// /** 入库方式( 0:PC入库 1:手持入库 2:AGV入库 ) */ +// @Excel(name = "入库方式", readConverterExp = "0=:PC入库,1=:手持入库,2=:AGV入库") +// private String instockWay; +// +// /** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */ +// @Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取") +// private String machineName; +// +// /** 质检状态(0:待质检,1:合格,2:NG) */ +// @Excel(name = "质检状态(0:待质检,1:合格,2:NG)") +// private String qualityStatus; +// +// /** 每托数量 */ +// @Excel(name = "每托数量") +// private BigDecimal stackAmount; +// +// /** 创建时间 */ +// @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; +// +// //采购订单号 +// private String poNo; +// /** 采购订单行项目 */ +// @Excel(name = "采购订单行项目") +// private String poLine; +// +// public void setRawInstockDetailId(Long rawInstockDetailId) +// { +// this.rawInstockDetailId = rawInstockDetailId; +// } +// +// public Long getRawInstockDetailId() +// { +// return rawInstockDetailId; +// } +// public void setRawInstockId(Long rawInstockId) +// { +// this.rawInstockId = rawInstockId; +// } +// +// public Long getRawInstockId() +// { +// return rawInstockId; +// } +// 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 setMaterialId(Long materialId) +// { +// this.materialId = materialId; +// } +// +// public Long getMaterialId() +// { +// return materialId; +// } +// public void setInstockBatch(String instockBatch) +// { +// this.instockBatch = instockBatch; +// } +// +// public String getInstockBatch() +// { +// return instockBatch; +// } +// public void setMaterialProductionDate(Date materialProductionDate) +// { +// this.materialProductionDate = materialProductionDate; +// } +// +// public Date getMaterialProductionDate() +// { +// return materialProductionDate; +// } +// +// public BigDecimal getPlanAmount() { +// return planAmount; +// } +// +// public void setPlanAmount(BigDecimal planAmount) { +// this.planAmount = planAmount; +// } +// +// public void setInstockAmount(BigDecimal instockAmount) +// { +// this.instockAmount = instockAmount; +// } +// +// public BigDecimal getInstockAmount() +// { +// return instockAmount; +// } +// public void setExecuteStatus(String executeStatus) +// { +// this.executeStatus = executeStatus; +// } +// +// public String getExecuteStatus() +// { +// return executeStatus; +// } +// public void setErpStatus(String erpStatus) +// { +// this.erpStatus = erpStatus; +// } +// +// public String getErpStatus() +// { +// return erpStatus; +// } +// public void setInstockPerson(String instockPerson) +// { +// this.instockPerson = instockPerson; +// } +// +// public String getInstockPerson() +// { +// return instockPerson; +// } +// public void setInstockTime(Date instockTime) +// { +// this.instockTime = instockTime; +// } +// +// public Date getInstockTime() +// { +// return instockTime; +// } +// public void setInstockWay(String instockWay) +// { +// this.instockWay = instockWay; +// } +// +// public String getInstockWay() +// { +// return instockWay; +// } +// public void setMachineName(String machineName) +// { +// this.machineName = machineName; +// } +// +// public String getMachineName() +// { +// return machineName; +// } +// public void setQualityStatus(String qualityStatus) +// { +// this.qualityStatus = qualityStatus; +// } +// +// public String getQualityStatus() +// { +// return qualityStatus; +// } +// public void setStackAmount(BigDecimal stackAmount) +// { +// this.stackAmount = stackAmount; +// } +// +// public BigDecimal getStackAmount() +// { +// return stackAmount; +// } +// 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; +// } +// +// public String getPoNo() { +// return poNo; +// } +// +// public void setPoNo(String poNo) { +// this.poNo = poNo; +// } +// +// public void setPoLine(String poLine) +// { +// this.poLine = poLine; +// } +// +// public String getPoLine() +// { +// return poLine; +// } +// +// @Override +// public String toString() { +// return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +// .append("rawInstockDetailId", getRawInstockDetailId()) +// .append("rawInstockId", getRawInstockId()) +// .append("locationCode", getLocationCode()) +// .append("materialBarcode", getMaterialBarcode()) +// .append("materialId", getMaterialId()) +// .append("instockBatch", getInstockBatch()) +// .append("materialProductionDate", getMaterialProductionDate()) +// .append("instockAmount", getInstockAmount()) +// .append("executeStatus", getExecuteStatus()) +// .append("erpStatus", getErpStatus()) +// .append("instockPerson", getInstockPerson()) +// .append("instockTime", getInstockTime()) +// .append("instockWay", getInstockWay()) +// .append("machineName", getMachineName()) +// .append("qualityStatus", getQualityStatus()) +// .append("stackAmount", getStackAmount()) +// .append("createBy", getCreateBy()) +// .append("createDate", getCreateDate()) +// .append("updateBy", getUpdateBy()) +// .append("updateDate", getUpdateDate()) +// .append("activeFlag", getActiveFlag()) +// .append("poLine", getPoLine()) +// .toString(); +// } +//} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawOutstock.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawOutstock.java index e3bd7489..dc64fbdd 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawOutstock.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/WmsRawOutstock.java @@ -24,6 +24,10 @@ public class WmsRawOutstock extends BaseEntity { */ private Long rawOutstockId; + /** + * 原材料出库记录ID,兼容PDA使用,实际也是raw_outstock_id + */ + private Long rawOutstockDetailId; /** * 任务编号;移库时必须 */ @@ -73,17 +77,25 @@ public class WmsRawOutstock extends BaseEntity { private Long productId; /** 物料批次 */ - @Excel(name = "物料条码") + @Excel(name = "物料批次") private String materialBatch; + /** 物料批次,转换兼容PDA使用 */ + @Excel(name = "物料批次") + private String instockBatch; + /** 托盘RFID代码 */ @Excel(name = "托盘RFID代码") private String palletInfoCode; - /** 出库数量 */ - @Excel(name = "出库数量") + /** 计划出库数量 */ + @Excel(name = "计划出库数量") private BigDecimal outstockAmount; + /** 出库数量 */ + @Excel(name = "已出库数量") + private BigDecimal realOutstockAmount; + /** 出库目的地 */ @Excel(name = "出库目的地") private String endStationCode; @@ -173,6 +185,17 @@ public class WmsRawOutstock extends BaseEntity { private String warehouseName; + private String materialCode; + + private String materialName; + + private BigDecimal planAmount; + + /** + * 执行状态(0待执行,1执行中,2执行完成)多个使用,以,隔开 + */ + private String executeStatusStr; + /** * 原材料出库记录明细信息 */ @@ -186,6 +209,14 @@ public class WmsRawOutstock extends BaseEntity { return rawOutstockId; } + public Long getRawOutstockDetailId() { + return rawOutstockDetailId; + } + + public void setRawOutstockDetailId(Long rawOutstockDetailId) { + this.rawOutstockDetailId = rawOutstockDetailId; + } + public void setTaskCode(String taskCode) { this.taskCode = taskCode; } @@ -258,6 +289,14 @@ public class WmsRawOutstock extends BaseEntity { this.materialBatch = materialBatch; } + public String getInstockBatch() { + return instockBatch; + } + + public void setInstockBatch(String instockBatch) { + this.instockBatch = instockBatch; + } + public String getPalletInfoCode() { return palletInfoCode; } @@ -274,6 +313,14 @@ public class WmsRawOutstock extends BaseEntity { this.outstockAmount = outstockAmount; } + public BigDecimal getRealOutstockAmount() { + return realOutstockAmount; + } + + public void setRealOutstockAmount(BigDecimal realOutstockAmount) { + this.realOutstockAmount = realOutstockAmount; + } + public String getEndStationCode() { return endStationCode; } @@ -402,6 +449,38 @@ public class WmsRawOutstock extends BaseEntity { this.warehouseName = warehouseName; } + 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; + } + + public BigDecimal getPlanAmount() { + return planAmount; + } + + public void setPlanAmount(BigDecimal planAmount) { + this.planAmount = planAmount; + } + + public String getExecuteStatusStr() { + return executeStatusStr; + } + + public void setExecuteStatusStr(String executeStatusStr) { + this.executeStatusStr = executeStatusStr; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditReturnVo.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditReturnVo.java new file mode 100644 index 00000000..b290f9ff --- /dev/null +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditReturnVo.java @@ -0,0 +1,24 @@ +package com.hw.wms.domain.vo; + +import com.hw.wms.domain.WmsRawOutstock; +import lombok.Data; +import java.util.List; + +/** + * @Description: 原材料出库待审核VO对象 + * @ClassName: WmsAuditRawOutstockVo + * @Author : xins + * @Date :2024-03-28 8:37 + * @Version :1.0 + */ +@Data +public class WmsRawOutstockAuditReturnVo { + + private String taskCode; + + /** + * 原材料出库记录信息 + */ + private List wmsRawOutstockDetailList; + +} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditVo.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditVo.java index 8415dbdc..d1fbab1a 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditVo.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/domain/vo/WmsRawOutstockAuditVo.java @@ -16,8 +16,12 @@ import javax.validation.constraints.NotNull; public class WmsRawOutstockAuditVo { //原材料出库记录ID - @NotNull(message = "原材料出库记录ID必须输入") - private Long rawOutstockId; +// @NotNull(message = "原材料出库记录ID必须输入") +// private Long rawOutstockId; + + //审核状态 + @NotBlank(message = "任务编号必须输入") + private String taskCode; //审核状态 @NotBlank(message = "审核状态必须输入") diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockDetailMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockDetailMapper.java index 997824e2..fb1ce3a2 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockDetailMapper.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockDetailMapper.java @@ -1,61 +1,61 @@ -package com.hw.wms.mapper; - -import java.util.List; -import com.hw.wms.domain.WmsRawInstockDetail; - -/** - * 原材料入库记录明细Mapper接口 - * - * @author xins - * @date 2023-12-25 - */ -public interface WmsRawInstockDetailMapper -{ - /** - * 查询原材料入库记录明细 - * - * @param rawInstockDetailId 原材料入库记录明细主键 - * @return 原材料入库记录明细 - */ - public WmsRawInstockDetail selectWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId); - - /** - * 查询原材料入库记录明细列表 - * - * @param wmsRawInstockDetail 原材料入库记录明细 - * @return 原材料入库记录明细集合 - */ - public List selectWmsRawInstockDetailList(WmsRawInstockDetail wmsRawInstockDetail); - - /** - * 新增原材料入库记录明细 - * - * @param wmsRawInstockDetail 原材料入库记录明细 - * @return 结果 - */ - public int insertWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail); - - /** - * 修改原材料入库记录明细 - * - * @param wmsRawInstockDetail 原材料入库记录明细 - * @return 结果 - */ - public int updateWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail); - - /** - * 删除原材料入库记录明细 - * - * @param rawInstockDetailId 原材料入库记录明细主键 - * @return 结果 - */ - public int deleteWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId); - - /** - * 批量删除原材料入库记录明细 - * - * @param rawInstockDetailIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWmsRawInstockDetailByRawInstockDetailIds(Long[] rawInstockDetailIds); -} +//package com.hw.wms.mapper; +// +//import java.util.List; +//import com.hw.wms.domain.WmsRawInstockDetail; +// +///** +// * 原材料入库记录明细Mapper接口 +// * +// * @author xins +// * @date 2023-12-25 +// */ +//public interface WmsRawInstockDetailMapper +//{ +// /** +// * 查询原材料入库记录明细 +// * +// * @param rawInstockDetailId 原材料入库记录明细主键 +// * @return 原材料入库记录明细 +// */ +// public WmsRawInstockDetail selectWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId); +// +// /** +// * 查询原材料入库记录明细列表 +// * +// * @param wmsRawInstockDetail 原材料入库记录明细 +// * @return 原材料入库记录明细集合 +// */ +// public List selectWmsRawInstockDetailList(WmsRawInstockDetail wmsRawInstockDetail); +// +// /** +// * 新增原材料入库记录明细 +// * +// * @param wmsRawInstockDetail 原材料入库记录明细 +// * @return 结果 +// */ +// public int insertWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail); +// +// /** +// * 修改原材料入库记录明细 +// * +// * @param wmsRawInstockDetail 原材料入库记录明细 +// * @return 结果 +// */ +// public int updateWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail); +// +// /** +// * 删除原材料入库记录明细 +// * +// * @param rawInstockDetailId 原材料入库记录明细主键 +// * @return 结果 +// */ +// public int deleteWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId); +// +// /** +// * 批量删除原材料入库记录明细 +// * +// * @param rawInstockDetailIds 需要删除的数据主键集合 +// * @return 结果 +// */ +// public int deleteWmsRawInstockDetailByRawInstockDetailIds(Long[] rawInstockDetailIds); +//} diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockMapper.java index f1afead2..7a6a8706 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockMapper.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawInstockMapper.java @@ -2,7 +2,6 @@ package com.hw.wms.mapper; import java.util.List; import com.hw.wms.domain.WmsRawInstock; -import com.hw.wms.domain.WmsRawInstockDetail; /** * 原材料入库记录Mapper接口 @@ -60,29 +59,14 @@ public interface WmsRawInstockMapper */ public int deleteWmsRawInstockByRawInstockIds(Long[] rawInstockIds); - /** - * 批量删除原材料入库记录明细 - * - * @param rawInstockIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWmsRawInstockDetailByRawInstockIds(Long[] rawInstockIds); - /** - * 批量新增原材料入库记录明细 - * - * @param wmsRawInstockDetailList 原材料入库记录明细列表 - * @return 结果 - */ - public int batchWmsRawInstockDetail(List wmsRawInstockDetailList); /** - * 通过原材料入库记录主键删除原材料入库记录明细信息 + * 查询原材料入库记录 * - * @param rawInstockId 原材料入库记录ID - * @return 结果 + * @param materialBarcode 物料条码 + * @return 原材料入库记录 */ - public int deleteWmsRawInstockDetailByRawInstockId(Long rawInstockId); - + public WmsRawInstock selectWmsRawInstockByBarcode(String materialBarcode); } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockDetailMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockDetailMapper.java index 2113fa59..04a8c7e0 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockDetailMapper.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockDetailMapper.java @@ -82,4 +82,14 @@ public interface WmsRawOutstockDetailMapper { */ public List selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail); + + /** + * 获取原材料出库记录明细数量 + * + * @param wmsRawOutstockDetail 原材料出库记录明细 + * @return 结果 + */ + public int selectCountOfWmsRawOutstockDetail(WmsRawOutstockDetail wmsRawOutstockDetail); + + } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockMapper.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockMapper.java index 62d83d8e..d8ebedd0 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockMapper.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/mapper/WmsRawOutstockMapper.java @@ -102,4 +102,32 @@ public interface WmsRawOutstockMapper * @return 结果 */ public int batchWmsRawOutstock(List wmsRawOutstockList); + + + /** + * 查询原材料出库记录列表,join仓库信息 + * + * @param wmsRawOutstock 原材料出库记录 + * @return 原材料出库记录集合 + */ + public List selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock); + + + /** + * 查询原材料出库记录列表,join material + * + * @param wmsRawOutstock 原材料出库记录 + * @return 原材料出库记录集合 + */ + public List selectWmsRawOutstockJoinMaterialList(WmsRawOutstock wmsRawOutstock); + + + /** + * 根据任务编号审核原材料出库记录 + * + * @param wmsRawOutstock 原材料出库记录 + * @return 结果 + */ + public int auditWmsRawOutstockByTaskCode(WmsRawOutstock wmsRawOutstock); + } diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsRawOutstockService.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsRawOutstockService.java index f8443abe..74ef5097 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsRawOutstockService.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/IWmsRawOutstockService.java @@ -24,6 +24,14 @@ public interface IWmsRawOutstockService */ public WmsRawOutstock selectWmsRawOutstockByRawOutstockId(Long rawOutstockId); + /** + * 查询原材料出库记录 + * + * @param taskCode 原材料出库记录任务编号 + * @return 原材料出库记录审核返回VO对象 + */ + public WmsRawOutstockAuditReturnVo selectWmsRawOutstockByTaskCode(String taskCode); + /** * 查询原材料出库记录列表 * @@ -68,7 +76,7 @@ public interface IWmsRawOutstockService * 审核原材料出库记录 * @param wmsRawOutstockAuditVo */ - public JSONObject auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo); + public int auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo); /** * 原材料出库记录明细确认 @@ -78,12 +86,12 @@ public interface IWmsRawOutstockService public int confirmWmsRawOutstock(WmsRawOutstockConfirmVo wmsRawOutstockConfirmVo); /** - * 查询原材料出库记录明细列表,供手持出库使用 + * 查询原材料出库记录列表,供手持出库使用 * - * @param wmsRawOutstockDetail 原材料出库记录明细 - * @return 原材料出库记录明细 + * @param wmsRawOutstock 原材料出库记录 + * @return 原材料出库记录列表 */ - public List selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail); + public List selectAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock); /** * 申请领料 @@ -103,6 +111,14 @@ public interface IWmsRawOutstockService */ public List selectWmsRawOutstockJoinList(WmsRawOutstock wmsRawOutstock); + /** + * 查询原材料出库记录列表,join warehouse + * + * @param wmsRawOutstock 原材料出库记录 + * @return 原材料出库记录 + */ + public List selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock); + /** * 组装出库 * @param wmsAssembleOutstockVo diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawInstockServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawInstockServiceImpl.java index 54f75fd9..83484253 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawInstockServiceImpl.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawInstockServiceImpl.java @@ -9,6 +9,7 @@ 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.core.utils.uuid.Seq; import com.hw.common.security.utils.SecurityUtils; import com.hw.mes.api.RemoteMesService; import com.hw.mes.api.domain.MesBaseBarcodeInfo; @@ -16,22 +17,16 @@ import com.hw.wms.domain.WmsBaseLocation; import com.hw.wms.domain.WmsRawStock; import com.hw.wms.domain.vo.WmsRawInstockVo; import com.hw.wms.mapper.WmsBaseLocationMapper; -import com.hw.wms.mapper.WmsRawInstockDetailMapper; import com.hw.wms.mapper.WmsRawStockMapper; 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.WmsRawInstockDetail; import com.hw.wms.mapper.WmsRawInstockMapper; import com.hw.wms.domain.WmsRawInstock; import com.hw.wms.service.IWmsRawInstockService; import javax.annotation.Resource; -import javax.annotation.Resources; /** * 原材料入库记录Service业务层处理 @@ -44,9 +39,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { @Autowired private WmsRawInstockMapper wmsRawInstockMapper; - @Autowired - private WmsRawInstockDetailMapper wmsRawInstockDetailMapper; - @Autowired private WmsBaseLocationMapper wmsBaseLocationMapper; @@ -90,7 +82,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { @Override public int insertWmsRawInstock(WmsRawInstock wmsRawInstock) { int rows = wmsRawInstockMapper.insertWmsRawInstock(wmsRawInstock); - insertWmsRawInstockDetail(wmsRawInstock); return rows; } @@ -103,8 +94,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { @Transactional(rollbackFor = Exception.class) @Override public int updateWmsRawInstock(WmsRawInstock wmsRawInstock) { - wmsRawInstockMapper.deleteWmsRawInstockDetailByRawInstockId(wmsRawInstock.getRawInstockId()); - insertWmsRawInstockDetail(wmsRawInstock); return wmsRawInstockMapper.updateWmsRawInstock(wmsRawInstock); } @@ -117,7 +106,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { @Transactional @Override public int deleteWmsRawInstockByRawInstockIds(Long[] rawInstockIds) { - wmsRawInstockMapper.deleteWmsRawInstockDetailByRawInstockIds(rawInstockIds); return wmsRawInstockMapper.deleteWmsRawInstockByRawInstockIds(rawInstockIds); } @@ -130,30 +118,9 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { @Transactional @Override public int deleteWmsRawInstockByRawInstockId(Long rawInstockId) { - wmsRawInstockMapper.deleteWmsRawInstockDetailByRawInstockId(rawInstockId); return wmsRawInstockMapper.deleteWmsRawInstockByRawInstockId(rawInstockId); } - /** - * 新增原材料入库记录明细信息 - * - * @param wmsRawInstock 原材料入库记录对象 - */ - public void insertWmsRawInstockDetail(WmsRawInstock wmsRawInstock) { - List wmsRawInstockDetailList = wmsRawInstock.getWmsRawInstockDetailList(); - Long rawInstockId = wmsRawInstock.getRawInstockId(); - if (StringUtils.isNotNull(wmsRawInstockDetailList)) { - List list = new ArrayList(); - for (WmsRawInstockDetail wmsRawInstockDetail : wmsRawInstockDetailList) { - wmsRawInstockDetail.setRawInstockId(rawInstockId); - list.add(wmsRawInstockDetail); - } - if (list.size() > 0) { - wmsRawInstockMapper.batchWmsRawInstockDetail(list); - } - } - } - /** * 新增原材料入库记录(适用于移动手持端) @@ -164,7 +131,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { @Transactional(rollbackFor = Exception.class) @Override public int insertWmsRawInstock(WmsRawInstockVo wmsRawInstockVo) { - String materialBarcode = wmsRawInstockVo.getMaterialBarcode(); R baseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER); MesBaseBarcodeInfo baseBarcodeInfo = baseBarcodeInfoR.getData(); @@ -190,25 +156,31 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { } } + WmsRawInstock existedRawInstock = wmsRawInstockMapper.selectWmsRawInstockByBarcode(wmsRawInstockVo.getMaterialBarcode()); + if (existedRawInstock != null) { + throw new ServiceException("此物料已经入库,不需重复入库"); + } + Date currentDate = new Date(); String userName = SecurityUtils.getUsername(); WmsRawInstock wmsRawInstock = new WmsRawInstock(); + wmsRawInstock.setTaskCode(Seq.getId(Seq.rawInstockSeqType,Seq.rawInstockSeqCode)); wmsRawInstock.setWarehouseId(baseLocation.getWarehouseId()); wmsRawInstock.setLocationCode(locationCode); wmsRawInstock.setPoNo(baseBarcodeInfo.getPoNo()); wmsRawInstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_MANUAL); wmsRawInstock.setInstockType(WmsConstants.RAW_INSTOCK_INSTOCK_TYPE_PURCHASE); wmsRawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - wmsRawInstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); wmsRawInstock.setApplyBy(userName); wmsRawInstock.setApplyDate(currentDate); + wmsRawInstock.setMaterialBarcode(wmsRawInstockVo.getMaterialBarcode()); + wmsRawInstock.setMaterialBatchCode(baseBarcodeInfo.getBatchCode()); + wmsRawInstock.setMaterialId(baseBarcodeInfo.getMaterialId()); + wmsRawInstock.setInstockAmount(wmsRawInstockVo.getInstockAmount()); //插入记录 int rows = wmsRawInstockMapper.insertWmsRawInstock(wmsRawInstock); - //插入明细 - insertWmsRawInstockDetail(wmsRawInstock, wmsRawInstockVo, baseBarcodeInfo); - //更新库位库存 updateRawStock(wmsRawInstock, wmsRawInstockVo, baseLocation, baseBarcodeInfo, userName, currentDate); @@ -216,30 +188,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService { } - /** - * 插入原材料入库明细,手持采购入库使用 - * - * @param wmsRawInstock - * @param wmsRawInstockVo - * @param baseBarcodeInfo - */ - public void insertWmsRawInstockDetail(WmsRawInstock wmsRawInstock, WmsRawInstockVo wmsRawInstockVo, MesBaseBarcodeInfo baseBarcodeInfo) { - WmsRawInstockDetail wmsRawInstockDetail = new WmsRawInstockDetail(); - wmsRawInstockDetail.setRawInstockId(wmsRawInstock.getRawInstockId()); - wmsRawInstockDetail.setLocationCode(wmsRawInstock.getLocationCode()); - wmsRawInstockDetail.setMaterialBarcode(wmsRawInstockVo.getMaterialBarcode()); - wmsRawInstockDetail.setInstockBatch(baseBarcodeInfo.getBatchCode()); - wmsRawInstockDetail.setMaterialId(baseBarcodeInfo.getMaterialId()); - wmsRawInstockDetail.setPoNo(wmsRawInstock.getPoNo()); - wmsRawInstockDetail.setPlanAmount(wmsRawInstockVo.getInstockAmount()); - wmsRawInstockDetail.setInstockAmount(wmsRawInstockVo.getInstockAmount()); - wmsRawInstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); - wmsRawInstockDetail.setInstockPerson(wmsRawInstock.getApplyBy()); - wmsRawInstockDetail.setInstockTime(wmsRawInstock.getApplyDate()); - wmsRawInstockDetail.setInstockWay(WmsConstants.RWA_INSTOCK_DETAIL_INSTOCK_WAY_MOBILE); - wmsRawInstockDetailMapper.insertWmsRawInstockDetail(wmsRawInstockDetail); - } - /** * 更新原材料库存 * diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java index dba50c9a..efae35dd 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java @@ -43,9 +43,6 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { @Autowired private WmsRawInstockMapper wmsRawInstockMapper; - @Autowired - private WmsRawInstockDetailMapper wmsRawInstockDetailMapper; - @Autowired private WmsRawStockMapper wmsRawStockMapper; @@ -94,6 +91,23 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { return wmsRawOutstock; } + /** + * 查询原材料出库记录 + * + * @param taskCode 原材料出库记录任务编号 + * @return 原材料出库记录审核返回VO对象 + */ + @Override + public WmsRawOutstockAuditReturnVo selectWmsRawOutstockByTaskCode(String taskCode) { + WmsRawOutstock queryRawOutstock = new WmsRawOutstock(); + queryRawOutstock.setTaskCode(taskCode); + queryRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_TOAUDIT); + List wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockJoinMaterialList(queryRawOutstock); + WmsRawOutstockAuditReturnVo wmsRawOutstockAuditReturnVo = new WmsRawOutstockAuditReturnVo(); + wmsRawOutstockAuditReturnVo.setWmsRawOutstockDetailList(wmsRawOutstocks); + return wmsRawOutstockAuditReturnVo; + } + /** * 查询原材料出库记录列表 * @@ -189,29 +203,30 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { */ @Transactional(rollbackFor = Exception.class) @Override - public JSONObject auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo) { + public int auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo) { String auditStatus = wmsRawOutstockAuditVo.getAuditStatus(); String auditReason = wmsRawOutstockAuditVo.getAuditReason(); + String taskCode = wmsRawOutstockAuditVo.getTaskCode(); Date currentDate = new Date(); String userName = SecurityUtils.getUsername(); - WmsRawOutstock wmsRawOutstock = wmsRawOutstockMapper.selectWmsRawOutstockByRawOutstockId(wmsRawOutstockAuditVo.getRawOutstockId()); - wmsRawOutstock.setAuditStatus(auditStatus); - wmsRawOutstock.setAuditReason(auditReason); - wmsRawOutstock.setAuditBy(SecurityUtils.getUsername()); - wmsRawOutstock.setAuditDate(new Date()); - JSONObject returnJson = new JSONObject(); - returnJson.put("auditStatus", auditStatus); + WmsRawOutstock queryRawOutstock = new WmsRawOutstock(); + queryRawOutstock.setTaskCode(taskCode); + queryRawOutstock.setAuditStatus(WmsConstants.RAW_OUTSTOCK_AUDIT_STATUS_TOAUDIT); + List wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockList(queryRawOutstock); + if (wmsRawOutstocks == null || wmsRawOutstocks.isEmpty()) { + throw new ServiceException("无待审核原材料出库记录"); + } + //审核不通过,需要有审核意见,并且需要更新库位占用数量(解除之前占用的数量)。 if (auditStatus.equalsIgnoreCase(WmsConstants.RAW_OUTSTOCK_AUDIT_STATUS_FAIL)) { if (StringUtils.isEmpty(auditReason)) { throw new ServiceException("请输入审核意见"); } - List wmsRawOutstockDetails = wmsRawOutstock.getWmsRawOutstockDetailList(); - wmsRawOutstockDetails.forEach(wmsRawOutstockDetail -> { - String locationCode = wmsRawOutstockDetail.getLocationCode(); - String instockBatch = wmsRawOutstockDetail.getInstockBatch(); - BigDecimal planAmount = wmsRawOutstockDetail.getPlanAmount(); + wmsRawOutstocks.forEach(wmsRawOutstock -> { + String locationCode = wmsRawOutstock.getLocationCode(); + String instockBatch = wmsRawOutstock.getMaterialBatch(); + BigDecimal planAmount = wmsRawOutstock.getOutstockAmount(); WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, instockBatch); if (wmsRawStock != null) { BigDecimal occupyAmount = wmsRawStock.getOccupyAmount() == null ? @@ -228,27 +243,22 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { wmsRawStockMapper.updateWmsRawStock(wmsRawStock); } }); - - } else { - //如果操作类型是agv,需要WCS轮询获取任务去调度agv -// if (wmsRawOutstock.getOperationType().equals(WmsConstants.WMS_OPERATION_TYPE_AUTO)) { -// JSONArray agvTasks = new JSONArray(); -// List wmsRawOutstockDetails = wmsRawOutstock.getWmsRawOutstockDetailList(); -// wmsRawOutstockDetails.forEach(wmsRawOutstockDetail -> { -// //todo:双排库,先出前排,再出后排,如果前排有挡住的需要移库锁库等,按顺序下发任务 -// JSONObject agvTask = new JSONObject(); -// agvTask.put("stationId", wmsRawOutstock.getStationId()); -// agvTask.put("locationCode", wmsRawOutstockDetail.getLocationCode()); -// agvTask.put("planAmount", wmsRawOutstockDetail.getPlanAmount()); -// agvTasks.add(agvTask); -// }); -// returnJson.put("agvTasks", agvTasks.toString()); -// } } - wmsRawOutstockMapper.updateWmsRawOutstock(wmsRawOutstock); - return returnJson; + WmsRawOutstock wmsRawOutstock = new WmsRawOutstock(); + wmsRawOutstock.setAuditStatus(auditStatus); + wmsRawOutstock.setAuditReason(auditReason); + wmsRawOutstock.setAuditBy(SecurityUtils.getUsername()); + wmsRawOutstock.setAuditDate(new Date()); + wmsRawOutstock.setTaskCode(taskCode); + int rows = wmsRawOutstockMapper.auditWmsRawOutstockByTaskCode(wmsRawOutstock); + +// JSONObject returnJson = new JSONObject(); +// returnJson.put("auditStatus", auditStatus); + + + return rows; } @@ -261,19 +271,20 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { @Transactional(rollbackFor = Exception.class) @Override public int confirmWmsRawOutstock(WmsRawOutstockConfirmVo wmsRawOutstockConfirmVo) { - Long rawOutstockDetailId = wmsRawOutstockConfirmVo.getRawOutstockDetailId(); + Long rawOutstockId = wmsRawOutstockConfirmVo.getRawOutstockDetailId(); String locationCode = wmsRawOutstockConfirmVo.getLocationCode(); String materialBarcode = wmsRawOutstockConfirmVo.getInstockBatch();//在此是物料条码,不是批次码 + BigDecimal outstockAmount = wmsRawOutstockConfirmVo.getOutstockAmount(); + if (outstockAmount.compareTo(BigDecimal.ZERO) <= 0) { + throw new ServiceException("数量需大于0"); + } + R baseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER); MesBaseBarcodeInfo baseBarcodeInfo = baseBarcodeInfoR.getData(); if (baseBarcodeInfo == null) { throw new ServiceException("物料编码有误"); } - BigDecimal outstockAmount = wmsRawOutstockConfirmVo.getOutstockAmount(); - if (outstockAmount.compareTo(BigDecimal.ZERO) <= 0) { - throw new ServiceException("数量需大于0"); - } String batchFlag = baseBarcodeInfo.getBatchFlag(); if (!batchFlag.equals(MesConstants.IS_BATCH)) {//如果不是批次 if (outstockAmount.compareTo(BigDecimal.ONE) != 0) { @@ -281,24 +292,34 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { } } + String batchCode = baseBarcodeInfo.getBatchCode(); + //判断是否有此出库任务,人工出库的同一个出库记录,同一个库位、同一个物料对应一个明细(agv的有可能是多个) + WmsRawOutstock queryRawOutstock = new WmsRawOutstock(); + queryRawOutstock.setLocationCode(locationCode); + queryRawOutstock.setInstockBatch(batchCode); + queryRawOutstock.setExecuteStatusStr(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE + "," + WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); + queryRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); + queryRawOutstock.setRawOutstockId(rawOutstockId); + + List wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockList(queryRawOutstock); + if (wmsRawOutstocks == null || wmsRawOutstocks.isEmpty()) { + throw new ServiceException("无此出库任务"); + } + + if (wmsRawOutstocks.size() > 1) { + throw new ServiceException("请选择具体出库任务后点击确认"); + } + + WmsRawOutstock wmsRawOutstock = wmsRawOutstocks.get(0); + WmsRawOutstockDetail queryRawOutstockDetail = new WmsRawOutstockDetail(); + queryRawOutstockDetail.setRawOutstockId(wmsRawOutstock.getRawOutstockId()); queryRawOutstockDetail.setLocationCode(locationCode); - queryRawOutstockDetail.setInstockBatch(baseBarcodeInfo.getBatchCode()); - queryRawOutstockDetail.setExecuteStatusStr(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE + "," + WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); - queryRawOutstockDetail.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); - List wmsRawOutstockDetails = wmsRawOutstockDetailMapper.selectWmsRawOutstockDetailList(queryRawOutstockDetail); - WmsRawOutstockDetail wmsRawOutstockDetail; - if (wmsRawOutstockDetails == null || wmsRawOutstockDetails.isEmpty()) { - throw new ServiceException("没有此出库任务"); - } else if (wmsRawOutstockDetails.size() > 1) {//如果有同一库位,同一批次多次领料申请(比方说张三领料批次A库位A3个,李四领取批次A库位A4个,此时就需要选择) - if (rawOutstockDetailId == null) { - throw new ServiceException("请选择具体出库任务后点击确认"); - } else { - wmsRawOutstockDetail = wmsRawOutstockDetails.stream().filter(wro -> wro.getRawOutstockDetailId().equals(rawOutstockDetailId)).findFirst().get(); - } - } else { - wmsRawOutstockDetail = wmsRawOutstockDetails.get(0); + queryRawOutstockDetail.setMaterialBarcode(materialBarcode); + int rawOutstockDetailCount = wmsRawOutstockDetailMapper.selectCountOfWmsRawOutstockDetail(queryRawOutstockDetail); + if (rawOutstockDetailCount > 0) { + throw new ServiceException("此物料已经出库,不能重复出库"); } //todo 判断质检状态 @@ -308,41 +329,62 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { // } // 判断本次出库数量+已出库数量是否大于计划出库数量 - BigDecimal hadOutstockAmount = wmsRawOutstockDetail.getOutstockAmount() == null ? BigDecimal.ZERO : wmsRawOutstockDetail.getOutstockAmount(); - BigDecimal planOutstockAmount = wmsRawOutstockDetail.getPlanAmount(); + BigDecimal hadOutstockAmount = wmsRawOutstock.getRealOutstockAmount() == null ? BigDecimal.ZERO : wmsRawOutstock.getRealOutstockAmount(); + BigDecimal planOutstockAmount = wmsRawOutstock.getOutstockAmount(); BigDecimal updatedOutstockAmount = hadOutstockAmount.add(outstockAmount); if (updatedOutstockAmount.compareTo(planOutstockAmount) > 0) { throw new ServiceException("出库数量不能大于" + planOutstockAmount.subtract(hadOutstockAmount)); } - wmsRawOutstockDetail.setOutstockAmount(updatedOutstockAmount); - String executeStatus = ""; - if (updatedOutstockAmount.compareTo(planOutstockAmount) == 0) {//如果已出完 - executeStatus = WmsConstants.WMS_EXECUTE_STATUS_FINISH; - //更新出库记录执行状态 - this.updateRawOutstockDetailExecuteStatus(wmsRawOutstockDetail.getRawOutstockId(), - wmsRawOutstockDetail.getRawOutstockDetailId()); - } else { - executeStatus = WmsConstants.WMS_EXECUTE_STATUS_EXECUTING; - } - Date currentDate = new Date(); String userName = SecurityUtils.getUsername(); - wmsRawOutstockDetail.setExecuteStatus(executeStatus); - if (wmsRawOutstockDetail.getOutstockTime() == null) { - wmsRawOutstockDetail.setOutstockTime(currentDate); - } else { - wmsRawOutstockDetail.setUpdateDate(currentDate); - } - if (wmsRawOutstockDetail.getOutstockPerson() == null) { - wmsRawOutstockDetail.setOutstockPerson(userName); - } else { - wmsRawOutstockDetail.setUpdateBy(userName); - } - //更新原材料库存占用数量和总数量 - WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, baseBarcodeInfo.getBatchCode()); + wmsRawOutstock.setRealOutstockAmount(updatedOutstockAmount); + if (updatedOutstockAmount.compareTo(planOutstockAmount) == 0) {//如果已出完 + wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); + wmsRawOutstock.setEndTime(currentDate); + } else { + wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); + if (wmsRawOutstock.getBeginTime() == null) { + wmsRawOutstock.setBeginTime(currentDate); + } + } + wmsRawOutstock.setUpdateDate(currentDate); + wmsRawOutstock.setUpdateBy(userName); + wmsRawOutstockMapper.updateWmsRawOutstock(wmsRawOutstock); + + insertRawOutstockDetail(wmsRawOutstock, materialBarcode, batchCode,userName, currentDate); + + updateRawStock(locationCode, batchCode, outstockAmount, userName, currentDate); + + return 1; + } + + public void insertRawOutstockDetail(WmsRawOutstock wmsRawOutstock, String materialBarcode, String batchCode, + String userName, Date currentDate) { + WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail(); + wmsRawOutstockDetail.setRawOutstockId(wmsRawOutstock.getRawOutstockId()); + wmsRawOutstockDetail.setWarehouseId(wmsRawOutstock.getWarehouseId()); + wmsRawOutstockDetail.setLocationCode(wmsRawOutstock.getLocationCode()); + wmsRawOutstockDetail.setMaterialId(wmsRawOutstock.getProductId()); + wmsRawOutstockDetail.setMaterialBarcode(materialBarcode); + wmsRawOutstockDetail.setInstockBatch(batchCode); + wmsRawOutstockDetail.setPlanAmount(BigDecimal.ONE); + wmsRawOutstockDetail.setOutstockAmount(BigDecimal.ONE); + wmsRawOutstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); + wmsRawOutstockDetail.setOutstockPerson(userName); + wmsRawOutstockDetail.setOutstockTime(currentDate); + wmsRawOutstockDetail.setOutstockWay(WmsConstants.WMS_STOCK_WAY_MANUAL); + + wmsRawOutstockDetailMapper.insertWmsRawOutstockDetail(wmsRawOutstockDetail); + + } + + + public void updateRawStock(String locationCode, String batchCode, BigDecimal outstockAmount, String userName, Date currentDate) { +//更新原材料库存占用数量和总数量 + WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, batchCode); if (wmsRawStock == null) { throw new ServiceException("没找到库存信息"); } else { @@ -351,6 +393,9 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { BigDecimal updatedOccupyAmount = occupyAmount.subtract(outstockAmount); BigDecimal updatedTotalAmount = totalAmount.subtract(outstockAmount); updatedOccupyAmount = updatedOccupyAmount.compareTo(BigDecimal.ZERO) >= 0 ? updatedOccupyAmount : BigDecimal.ZERO; + if (updatedTotalAmount.compareTo(BigDecimal.ZERO) < 0) { + throw new ServiceException("库存不足"); + } updatedTotalAmount = updatedTotalAmount.compareTo(BigDecimal.ZERO) >= 0 ? updatedTotalAmount : BigDecimal.ZERO; wmsRawStock.setOccupyAmount(updatedOccupyAmount); wmsRawStock.setTotalAmount(updatedTotalAmount); @@ -358,21 +403,19 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { wmsRawStock.setUpdateBy(userName); wmsRawStockMapper.updateWmsRawStock(wmsRawStock); } - - wmsRawOutstockDetailMapper.updateWmsRawOutstockDetail(wmsRawOutstockDetail); - - return 1; } /** - * 查询原材料出库记录明细列表,供手持出库使用 + * 查询原材料出库记录列表,供手持出库使用 * - * @param wmsRawOutstockDetail 原材料出库记录明细 - * @return 原材料出库记录明细 + * @param wmsRawOutstock 原材料出库记录 + * @return 原材料出库记录列表 */ @Override - public List selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail) { - return wmsRawOutstockDetailMapper.selectAuditPassRawOutstockDetails(wmsRawOutstockDetail); + public List selectAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock) { + wmsRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); + List wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockJoinMaterialList(wmsRawOutstock); + return wmsRawOutstocks; } @@ -420,15 +463,17 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { // .collect(Collectors.groupingBy(WmsRawOutstockDetail::getMaterialId, HashMap::new, Collectors.reducing(BigDecimal.ZERO, WmsRawOutstockDetail::getPlanAmount, BigDecimal::add))); //判断仓库类型,出库记录保存对应操作类型,出库记录明细保存对应出库方式 - WmsBaseWarehouse warehouse = wmsBaseWarehouseMapper.selectWmsBaseWarehouseByWarehouseId(warehouseId); - String warehouseType = warehouse.getWarehouseType(); - String outstockWay = WmsConstants.OUTSTOCK_WAY_MAP.get(warehouseType); + WmsBaseWarehouse baseWarehouse = wmsBaseWarehouseMapper.selectWmsBaseWarehouseByWarehouseId(warehouseId); + String warehouseType = baseWarehouse.getWarehouseType(); String queryQualityStatus = WmsConstants.WMS_QUALITY_STATUS_PASS; + String planCode = wmsRawOutstock.getPlanCode(); + String planDetailCode = wmsRawOutstock.getPlanDetailCode(); - List toUpdatedRawOutstockDetails = new ArrayList<>(); + List toInsertedRawOutstocks = new ArrayList<>(); Date currentDate = new Date(); String userName = SecurityUtils.getUsername(); + String taskCode = Seq.getId(Seq.rawOutstockSeqType, Seq.rawOutstockSeqCode); //传入的申请领料list遍历 rawOutstockDetails.forEach(rawOutstockDetail -> { BigDecimal planAmount = rawOutstockDetail.getPlanAmount() == null ? @@ -463,10 +508,10 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { //提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中 wmsRawStockMapper.updateWmsRawStock(wmsRawStock); - //原材料出库记录明细(有break,以下方法需要写在下面) - WmsRawOutstockDetail wmsRawOutstockDetail = getWmsRawOutstockDetail(wmsRawStock, materialId, - planAmount, currentDate, userName, outstockWay); - toUpdatedRawOutstockDetails.add(wmsRawOutstockDetail); + //原材料出库记录(有break,以下方法需要写在此处) + WmsRawOutstock toInsertedRawOutstock = getWmsRawOutstock(wmsRawStock, baseWarehouse, planCode, planDetailCode, materialId, taskCode, + planAmount, currentDate, userName); + toInsertedRawOutstocks.add(toInsertedRawOutstock); planAmount = planAmount.subtract(availableAmount); } else if (planAmount.compareTo(availableAmount) == 0) {//计划数量等于可出库数量 @@ -477,10 +522,10 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { //如果同一个物料有多条记录的处理,提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中 wmsRawStockMapper.updateWmsRawStock(wmsRawStock); - //原材料出库记录明细(有break,以下方法需要写在下面) - WmsRawOutstockDetail wmsRawOutstockDetail = getWmsRawOutstockDetail(wmsRawStock, materialId, - planAmount, currentDate, userName, outstockWay); - toUpdatedRawOutstockDetails.add(wmsRawOutstockDetail); + //原材料出库记录(有break,以下方法需要写在此处) + WmsRawOutstock toInsertedRawOutstock = getWmsRawOutstock(wmsRawStock, baseWarehouse, planCode, planDetailCode, materialId, taskCode, + planAmount, currentDate, userName); + toInsertedRawOutstocks.add(toInsertedRawOutstock); planAmount = BigDecimal.ZERO; break; @@ -492,10 +537,10 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { //如果同一个物料有多条记录的处理,提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中 wmsRawStockMapper.updateWmsRawStock(wmsRawStock); - //原材料出库记录明细(有break,以下方法需要写在下面) - WmsRawOutstockDetail wmsRawOutstockDetail = getWmsRawOutstockDetail(wmsRawStock, materialId, - planAmount, currentDate, userName, outstockWay); - toUpdatedRawOutstockDetails.add(wmsRawOutstockDetail); + //原材料出库记录(有break,以下方法需要写在此处) + WmsRawOutstock toInsertedRawOutstock = getWmsRawOutstock(wmsRawStock, baseWarehouse, planCode, planDetailCode, materialId, taskCode, + planAmount, currentDate, userName); + toInsertedRawOutstocks.add(toInsertedRawOutstock); planAmount = BigDecimal.ZERO; break; @@ -511,43 +556,74 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { } }); - handleRawOutstock(wmsRawOutstock,warehouse,userName,currentDate,toUpdatedRawOutstockDetails); + wmsRawOutstockMapper.batchWmsRawOutstock(toInsertedRawOutstocks); return 1; } /** - * 获取待保存的原材料出库记录明细 + * 获取待保存的原材料出库记录 * * @param wmsRawStock + * @param baseWarehouse + * @param planCode + * @param planDetailCode * @param materialId - * @param availableAmount + * @param taskCode + * @param planAmount * @param currentDate * @param userName * @return */ - private WmsRawOutstockDetail getWmsRawOutstockDetail(WmsRawStock wmsRawStock, Long materialId, - BigDecimal availableAmount, Date currentDate, String userName, String outstockWay) { - WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail(); - wmsRawOutstockDetail.setWarehouseId(wmsRawStock.getWarehouseId()); - wmsRawOutstockDetail.setLocationCode(wmsRawStock.getLocationCode()); - wmsRawOutstockDetail.setMaterialId(materialId); - wmsRawOutstockDetail.setInstockBatch(wmsRawStock.getInstockBatch()); - wmsRawOutstockDetail.setPlanAmount(availableAmount); - wmsRawOutstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); - wmsRawOutstockDetail.setOutstockWay(outstockWay); - wmsRawOutstockDetail.setPalletInfoCode(wmsRawStock.getPalletInfoCode()); - wmsRawOutstockDetail.setQualityStatus(wmsRawStock.getQualityStatus()); - wmsRawOutstockDetail.setCreateDate(currentDate); - wmsRawOutstockDetail.setCreateBy(userName); + private WmsRawOutstock getWmsRawOutstock(WmsRawStock wmsRawStock, WmsBaseWarehouse baseWarehouse, String planCode, String planDetailCode, Long materialId, String taskCode, + BigDecimal planAmount, Date currentDate, String userName) { + //出库要求 (0申请出库,1申请审核出库,2直接出库) + String outRequirement = baseWarehouse.getOutRequirement(); + String warehouseType = baseWarehouse.getWarehouseType(); + String operationType = WmsConstants.OPERATION_TYPE_MAP.get(warehouseType); - return wmsRawOutstockDetail; + WmsRawOutstock toInsertedRawOutstock = new WmsRawOutstock(); + + if (warehouseType.equals(WmsConstants.WMS_WAREHOUSE_TYPE_NORMAL)) {//如果是普通仓库,需要校验审核标识 + if (outRequirement.equals(WmsConstants.WMS_WAREHOUSE_OUT_REQUIREMENT_APPLY_AUDIT)) { + toInsertedRawOutstock.setAuditStatus(WmsConstants.RAW_OUTSTOCK_AUDIT_STATUS_TOAUDIT); + toInsertedRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); + } else { + toInsertedRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); + toInsertedRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); + } + + } else { + toInsertedRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); + toInsertedRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); + } + + toInsertedRawOutstock.setTaskCode(taskCode); + toInsertedRawOutstock.setWarehouseId(wmsRawStock.getWarehouseId()); + toInsertedRawOutstock.setLocationCode(wmsRawStock.getLocationCode()); + toInsertedRawOutstock.setStationId(SecurityUtils.getStationId()); + toInsertedRawOutstock.setPalletInfoCode(wmsRawStock.getPalletInfoCode()); + toInsertedRawOutstock.setOperationType(operationType); + toInsertedRawOutstock.setApplyBy(userName); + toInsertedRawOutstock.setApplyDate(currentDate); + toInsertedRawOutstock.setEndStationCode(SecurityUtils.getStationCode()); + toInsertedRawOutstock.setProductId(materialId); + toInsertedRawOutstock.setOutstockAmount(planAmount); + toInsertedRawOutstock.setPlanCode(planCode); + toInsertedRawOutstock.setPlanDetailCode(planDetailCode); + toInsertedRawOutstock.setMaterialBatch(wmsRawStock.getInstockBatch()); + toInsertedRawOutstock.setTaskType(WmsConstants.WMS_RAW_OUTSTOCK_TASK_TYPE_PRODUCTION_PICKING); + toInsertedRawOutstock.setCreateTime(currentDate); + toInsertedRawOutstock.setCreateBy(userName); + + + return toInsertedRawOutstock; } public void handleRawOutstock(WmsRawOutstock wmsRawOutstock, WmsBaseWarehouse warehouse, - String userName, Date currentDate,List toUpdatedRawOutstockDetails) { + String userName, Date currentDate, List toUpdatedRawOutstockDetails) { //出库要求 (0申请出库,1申请审核出库,2直接出库) String outRequirement = warehouse.getOutRequirement(); String warehouseType = warehouse.getWarehouseType(); @@ -769,24 +845,24 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { rawInstock.setWarehouseId(wmsAgvRawOutstockVo.getWarehouseId()); rawInstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_AUTO); // rawInstock.setInstockType(WmsConstants.RAW_INSTOCK_INSTOCK_TYPE_MOVE); - rawInstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); - rawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); - rawInstock.setApplyDate(currentDate); - rawInstock.setApplyBy(userName); - rawInstock.setCreateBy(userName); - rawInstock.setCreateTime(currentDate); - - wmsRawInstockMapper.insertWmsRawInstock(rawInstock); - - WmsRawInstockDetail rawInstockDetail = new WmsRawInstockDetail(); - rawInstockDetail.setRawInstockId(rawInstock.getRawInstockId()); - rawInstockDetail.setLocationCode(targetBaseLocation.getLocationCode()); - rawInstockDetail.setMaterialBarcode(moveMaterialBarcode); - rawInstockDetail.setMaterialId(moveMaterialId); - rawInstockDetail.setPlanAmount(new BigDecimal(1));//todo: agv数量默认1 - rawInstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); - rawInstockDetail.setInstockWay(WmsConstants.WMS_STOCK_WAY_AGV); - wmsRawInstockDetailMapper.insertWmsRawInstockDetail(rawInstockDetail); +// rawInstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); +// rawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); +// rawInstock.setApplyDate(currentDate); +// rawInstock.setApplyBy(userName); +// rawInstock.setCreateBy(userName); +// rawInstock.setCreateTime(currentDate); +// +// wmsRawInstockMapper.insertWmsRawInstock(rawInstock); +// +// WmsRawInstockDetail rawInstockDetail = new WmsRawInstockDetail(); +// rawInstockDetail.setRawInstockId(rawInstock.getRawInstockId()); +// rawInstockDetail.setLocationCode(targetBaseLocation.getLocationCode()); +// rawInstockDetail.setMaterialBarcode(moveMaterialBarcode); +// rawInstockDetail.setMaterialId(moveMaterialId); +// rawInstockDetail.setPlanAmount(new BigDecimal(1));//todo: agv数量默认1 +// rawInstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); +// rawInstockDetail.setInstockWay(WmsConstants.WMS_STOCK_WAY_AGV); +// wmsRawInstockDetailMapper.insertWmsRawInstockDetail(rawInstockDetail); return rawInstock; } @@ -831,6 +907,18 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { } + /** + * 查询原材料出库记录列表,join warehouse + * + * @param wmsRawOutstock 原材料出库记录 + * @return 原材料出库记录 + */ + @Override + public List selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock) { + return wmsRawOutstockMapper.selectWmsRawOutstockJoinList4Audit(wmsRawOutstock); + } + + /** * 组装出库 * diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockDetailMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockDetailMapper.xml deleted file mode 100644 index ede90970..00000000 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockDetailMapper.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select raw_instock_detail_id, raw_instock_id, location_code, material_barcode, instock_batch, material_id, po_no, material_production_date, plan_amount, instock_amount, execute_status, erp_status, instock_person, instock_time, instock_way, machine_name, quality_status, stack_amount, create_by, create_date, update_by, update_date, active_flag, po_line from wms_raw_instock_detail - - - - - - - - insert into wms_raw_instock_detail - - raw_instock_id, - location_code, - material_barcode, - instock_batch, - material_id, - po_no, - material_production_date, - plan_amount, - instock_amount, - execute_status, - erp_status, - instock_person, - instock_time, - instock_way, - machine_name, - quality_status, - stack_amount, - create_by, - create_date, - update_by, - update_date, - active_flag, - po_line, - - - #{rawInstockId}, - #{locationCode}, - #{materialBarcode}, - #{instockBatch}, - #{materialId}, - #{poNo}, - #{materialProductionDate}, - #{planAmount}, - #{instockAmount}, - #{executeStatus}, - #{erpStatus}, - #{instockPerson}, - #{instockTime}, - #{instockWay}, - #{machineName}, - #{qualityStatus}, - #{stackAmount}, - #{createBy}, - #{createDate}, - #{updateBy}, - #{updateDate}, - #{activeFlag}, - #{poLine}, - - - - - update wms_raw_instock_detail - - raw_instock_id = #{rawInstockId}, - location_code = #{locationCode}, - material_barcode = #{materialBarcode}, - instock_batch = #{instockBatch}, - material_id = #{materialId}, - po_no = #{poNo}, - material_production_date = #{materialProductionDate}, - plan_amount = #{planAmount}, - instock_amount = #{instockAmount}, - execute_status = #{executeStatus}, - erp_status = #{erpStatus}, - instock_person = #{instockPerson}, - instock_time = #{instockTime}, - instock_way = #{instockWay}, - machine_name = #{machineName}, - quality_status = #{qualityStatus}, - stack_amount = #{stackAmount}, - create_by = #{createBy}, - create_date = #{createDate}, - update_by = #{updateBy}, - update_date = #{updateDate}, - active_flag = #{activeFlag}, - po_line = #{poLine}, - - where raw_instock_detail_id = #{rawInstockDetailId} - - - - delete from wms_raw_instock_detail where raw_instock_detail_id = #{rawInstockDetailId} - - - - delete from wms_raw_instock_detail where raw_instock_detail_id in - - #{rawInstockDetailId} - - - diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockMapper.xml index 5ddf8e0c..3afffa32 100644 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockMapper.xml +++ b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawInstockMapper.xml @@ -12,53 +12,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select raw_instock_id, task_code, warehouse_id, location_code, po_no, operation_type, instock_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_raw_instock + select raw_instock_id, task_code, warehouse_id, location_code, po_no, operation_type, instock_type, material_id, material_barcode, material_batch_code, pallet_info_code, instock_amount, execute_status, erp_status, erp_amount, apply_by, apply_date, machine_name, quality_status, update_by, update_date, begin_time, end_time from wms_raw_instock - + + where raw_instock_id = #{rawInstockId} @@ -101,19 +71,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" po_no, operation_type, instock_type, - apply_reason, - audit_reason, - audit_status, - execute_status, + material_id, + material_barcode, + material_batch_code, + pallet_info_code, + instock_amount, + execute_status, + erp_status, + erp_amount, apply_by, apply_date, - audit_by, - audit_date, + machine_name, + quality_status, update_by, update_date, begin_time, end_time, - + #{taskCode}, #{warehouseId}, @@ -121,19 +95,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{poNo}, #{operationType}, #{instockType}, - #{applyReason}, - #{auditReason}, - #{auditStatus}, - #{executeStatus}, + #{materialId}, + #{materialBarcode}, + #{materialBatchCode}, + #{palletInfoCode}, + #{instockAmount}, + #{executeStatus}, + #{erpStatus}, + #{erpAmount}, #{applyBy}, #{applyDate}, - #{auditBy}, - #{auditDate}, + #{machineName}, + #{qualityStatus}, #{updateBy}, #{updateDate}, #{beginTime}, #{endTime}, - + @@ -145,14 +123,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" po_no = #{poNo}, operation_type = #{operationType}, instock_type = #{instockType}, - apply_reason = #{applyReason}, - audit_reason = #{auditReason}, - audit_status = #{auditStatus}, - execute_status = #{executeStatus}, + material_id = #{materialId}, + material_barcode = #{materialBarcode}, + material_batch_code = #{materialBatchCode}, + pallet_info_code = #{palletInfoCode}, + instock_amount = #{instockAmount}, + execute_status = #{executeStatus}, + erp_status = #{erpStatus}, + erp_amount = #{erpAmount}, apply_by = #{applyBy}, apply_date = #{applyDate}, - audit_by = #{auditBy}, - audit_date = #{auditDate}, + machine_name = #{machineName}, + quality_status = #{qualityStatus}, update_by = #{updateBy}, update_date = #{updateDate}, begin_time = #{beginTime}, @@ -172,21 +154,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - delete from wms_raw_instock_detail where raw_instock_id in - - #{rawInstockId} - - - - delete from wms_raw_instock_detail where raw_instock_id = #{rawInstockId} - - - insert into wms_raw_instock_detail( raw_instock_detail_id, raw_instock_id, location_code, material_barcode, material_id, po_no, instock_batch, material_production_Date, plan_amount,instock_amount, execute_status, erp_status, instock_person, instock_time, instock_way, machine_name, quality_status, stack_amount, create_by, create_date, update_by, update_date, active_flag, po_line) values - - ( #{item.rawInstockDetailId}, #{item.rawInstockId}, #{item.locationCode}, #{item.materialBarcode}, #{item.materialId}, #{item.poNo}, #{item.instockBatch}, #{item.materialProductionDate}, #{item.planAmount},#{item.instockAmount}, #{item.executeStatus}, #{item.erpStatus}, #{item.instockPerson}, #{item.instockTime}, #{item.instockWay}, #{item.machineName}, #{item.qualityStatus}, #{item.stackAmount}, #{item.createBy}, #{item.createDate}, #{item.updateBy}, #{item.updateDate}, #{item.activeFlag}, #{item.poLine}) - - + + + + + diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockDetailMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockDetailMapper.xml index 4141c6c6..e4c57b54 100644 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockDetailMapper.xml +++ b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockDetailMapper.xml @@ -183,5 +183,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml index 3aeef971..4452ed75 100644 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml +++ b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml @@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -33,6 +34,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + @@ -64,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select raw_outstock_id, task_code, warehouse_id, location_code, order_id, plan_code, plan_detail_code, station_id, product_id, material_batch, pallet_info_code, outstock_amount, end_station_code, operation_type, task_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_raw_outstock + select raw_outstock_id, task_code, warehouse_id, location_code, order_id, plan_code, plan_detail_code, station_id, product_id, material_batch, pallet_info_code, outstock_amount,real_outstock_amount, end_station_code, operation_type, task_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_raw_outstock + + + + insert into wms_raw_outstock(raw_outstock_id, task_code,warehouse_id,location_code,order_id,plan_code,plan_detail_code,station_id,product_id,material_batch,pallet_info_code,outstock_amount,end_station_code,operation_type,task_type,audit_status,execute_status,apply_by,apply_date) values @@ -244,5 +273,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + update wms_raw_outstock + + audit_reason = #{auditReason}, + audit_status = #{auditStatus}, + audit_by = #{auditBy}, + audit_date = #{auditDate}, + update_by = #{updateBy}, + update_date = #{updateDate}, + + where task_code = #{taskCode} + +