WMS:PDA接口入库、PDA接口审核出库、PDA接口出库完善
master
xins 1 year ago
parent 552138b94b
commit e83aa2985b

@ -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);
}

@ -106,7 +106,7 @@ public class WmsMobileController extends BaseController {
startPage();
WmsRawOutstock wmsRawOutstock = new WmsRawOutstock();
wmsRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_TOAUDIT);
List<WmsRawOutstock> list = wmsRawOutstockService.selectWmsRawOutstockJoinList(wmsRawOutstock);
List<WmsRawOutstock> 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<WmsRawOutstockDetail> list = wmsRawOutstockService.selectAuditPassRawOutstockDetails(wmsRawOutstockDetail);
List<WmsRawOutstock> list = wmsRawOutstockService.selectAuditPassRawOutstocks(wmsRawOutstock);
return getDataTable(list);
}

@ -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;
@ -12,7 +12,7 @@ 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,9 +109,6 @@ public class WmsRawInstock extends BaseEntity
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime;
/** 原材料入库记录明细信息 */
private List<WmsRawInstockDetail> wmsRawInstockDetailList;
public void setRawInstockId(Long rawInstockId)
{
this.rawInstockId = rawInstockId;
@ -160,32 +172,50 @@ public class WmsRawInstock extends BaseEntity
{
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 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)
{
@ -196,6 +226,24 @@ public class WmsRawInstock extends BaseEntity
{
return executeStatus;
}
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;
@ -214,23 +262,23 @@ public class WmsRawInstock extends BaseEntity
{
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)
{
@ -260,16 +308,6 @@ public class WmsRawInstock extends BaseEntity
return endTime;
}
public List<WmsRawInstockDetail> getWmsRawInstockDetailList()
{
return wmsRawInstockDetailList;
}
public void setWmsRawInstockDetailList(List<WmsRawInstockDetail> wmsRawInstockDetailList)
{
this.wmsRawInstockDetailList = wmsRawInstockDetailList;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -280,19 +318,22 @@ public class WmsRawInstock extends BaseEntity
.append("poNo", getPoNo())
.append("operationType", getOperationType())
.append("instockType", getInstockType())
.append("applyReason", getApplyReason())
.append("auditReason", getAuditReason())
.append("auditStatus", getAuditStatus())
.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("auditBy", getAuditBy())
.append("auditDate", getAuditDate())
.append("machineName", getMachineName())
.append("qualityStatus", getQualityStatus())
.append("updateBy", getUpdateBy())
.append("updateDate", getUpdateDate())
.append("beginTime", getBeginTime())
.append("endTime", getEndTime())
.append("wmsRawInstockDetailList", getWmsRawInstockDetailList())
.toString();
}
}

@ -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;
/** 入库方式( 0PC入库 1手持入库 2AGV入库 */
@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;
//
// /** 入库方式( 0PC入库 1手持入库 2AGV入库 */
// @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();
// }
//}

@ -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)

@ -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<WmsRawOutstock> wmsRawOutstockDetailList;
}

@ -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 = "审核状态必须输入")

@ -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<WmsRawInstockDetail> 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<WmsRawInstockDetail> 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);
//}

@ -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<WmsRawInstockDetail> wmsRawInstockDetailList);
/**
*
*
*
* @param rawInstockId ID
* @return
* @param materialBarcode
* @return
*/
public int deleteWmsRawInstockDetailByRawInstockId(Long rawInstockId);
public WmsRawInstock selectWmsRawInstockByBarcode(String materialBarcode);
}

@ -82,4 +82,14 @@ public interface WmsRawOutstockDetailMapper {
*/
public List<WmsRawOutstockDetail> selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail);
/**
*
*
* @param wmsRawOutstockDetail
* @return
*/
public int selectCountOfWmsRawOutstockDetail(WmsRawOutstockDetail wmsRawOutstockDetail);
}

@ -102,4 +102,32 @@ public interface WmsRawOutstockMapper
* @return
*/
public int batchWmsRawOutstock(List<WmsRawOutstock> wmsRawOutstockList);
/**
* ,join
*
* @param wmsRawOutstock
* @return
*/
public List<WmsRawOutstock> selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock);
/**
* ,join material
*
* @param wmsRawOutstock
* @return
*/
public List<WmsRawOutstock> selectWmsRawOutstockJoinMaterialList(WmsRawOutstock wmsRawOutstock);
/**
*
*
* @param wmsRawOutstock
* @return
*/
public int auditWmsRawOutstockByTaskCode(WmsRawOutstock wmsRawOutstock);
}

@ -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<WmsRawOutstockDetail> selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail);
public List<WmsRawOutstock> selectAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock);
/**
*
@ -103,6 +111,14 @@ public interface IWmsRawOutstockService
*/
public List<WmsRawOutstock> selectWmsRawOutstockJoinList(WmsRawOutstock wmsRawOutstock);
/**
* ,join warehouse
*
* @param wmsRawOutstock
* @return
*/
public List<WmsRawOutstock> selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock);
/**
*
* @param wmsAssembleOutstockVo

@ -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<WmsRawInstockDetail> wmsRawInstockDetailList = wmsRawInstock.getWmsRawInstockDetailList();
Long rawInstockId = wmsRawInstock.getRawInstockId();
if (StringUtils.isNotNull(wmsRawInstockDetailList)) {
List<WmsRawInstockDetail> list = new ArrayList<WmsRawInstockDetail>();
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<MesBaseBarcodeInfo> 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);
}
/**
*
*

@ -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<WmsRawOutstock> 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<WmsRawOutstock> 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<WmsRawOutstockDetail> 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<WmsRawOutstockDetail> 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<MesBaseBarcodeInfo> 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的有可能是多个
WmsRawOutstockDetail queryRawOutstockDetail = new WmsRawOutstockDetail();
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<WmsRawOutstockDetail> 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();
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<WmsRawOutstock> wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockList(queryRawOutstock);
if (wmsRawOutstocks == null || wmsRawOutstocks.isEmpty()) {
throw new ServiceException("无此出库任务");
}
} else {
wmsRawOutstockDetail = wmsRawOutstockDetails.get(0);
if (wmsRawOutstocks.size() > 1) {
throw new ServiceException("请选择具体出库任务后点击确认");
}
WmsRawOutstock wmsRawOutstock = wmsRawOutstocks.get(0);
WmsRawOutstockDetail queryRawOutstockDetail = new WmsRawOutstockDetail();
queryRawOutstockDetail.setRawOutstockId(wmsRawOutstock.getRawOutstockId());
queryRawOutstockDetail.setLocationCode(locationCode);
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);
wmsRawOutstock.setRealOutstockAmount(updatedOutstockAmount);
if (updatedOutstockAmount.compareTo(planOutstockAmount) == 0) {//如果已出完
wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH);
wmsRawOutstock.setEndTime(currentDate);
} else {
wmsRawOutstockDetail.setUpdateDate(currentDate);
wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_EXECUTING);
if (wmsRawOutstock.getBeginTime() == null) {
wmsRawOutstock.setBeginTime(currentDate);
}
if (wmsRawOutstockDetail.getOutstockPerson() == null) {
wmsRawOutstockDetail.setOutstockPerson(userName);
} else {
wmsRawOutstockDetail.setUpdateBy(userName);
}
wmsRawOutstock.setUpdateDate(currentDate);
wmsRawOutstock.setUpdateBy(userName);
wmsRawOutstockMapper.updateWmsRawOutstock(wmsRawOutstock);
insertRawOutstockDetail(wmsRawOutstock, materialBarcode, batchCode,userName, currentDate);
updateRawStock(locationCode, batchCode, outstockAmount, userName, currentDate);
return 1;
}
//更新原材料库存占用数量和总数量
WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, baseBarcodeInfo.getBatchCode());
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<WmsRawOutstockDetail> selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail) {
return wmsRawOutstockDetailMapper.selectAuditPassRawOutstockDetails(wmsRawOutstockDetail);
public List<WmsRawOutstock> selectAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock) {
wmsRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS);
List<WmsRawOutstock> 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<WmsRawOutstockDetail> toUpdatedRawOutstockDetails = new ArrayList<>();
List<WmsRawOutstock> 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<WmsRawOutstockDetail> toUpdatedRawOutstockDetails) {
String userName, Date currentDate, List<WmsRawOutstockDetail> 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<WmsRawOutstock> selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock) {
return wmsRawOutstockMapper.selectWmsRawOutstockJoinList4Audit(wmsRawOutstock);
}
/**
*
*

@ -1,164 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hw.wms.mapper.WmsRawInstockDetailMapper">
<resultMap type="WmsRawInstockDetail" id="WmsRawInstockDetailResult">
<result property="rawInstockDetailId" column="raw_instock_detail_id" />
<result property="rawInstockId" column="raw_instock_id" />
<result property="locationCode" column="location_code" />
<result property="materialBarcode" column="material_barcode" />
<result property="instockBatch" column="instock_batch" />
<result property="materialId" column="material_id" />
<result property="poNo" column="po_no" />
<result property="materialProductionDate" column="material_production_date" />
<result property="planAmount" column="plan_amount" />
<result property="instockAmount" column="instock_amount" />
<result property="executeStatus" column="execute_status" />
<result property="erpStatus" column="erp_status" />
<result property="instockPerson" column="instock_person" />
<result property="instockTime" column="instock_time" />
<result property="instockWay" column="instock_way" />
<result property="machineName" column="machine_name" />
<result property="qualityStatus" column="quality_status" />
<result property="stackAmount" column="stack_amount" />
<result property="createBy" column="create_by" />
<result property="createDate" column="create_date" />
<result property="updateBy" column="update_by" />
<result property="updateDate" column="update_date" />
<result property="activeFlag" column="active_flag" />
<result property="poLine" column="po_line" />
</resultMap>
<sql id="selectWmsRawInstockDetailVo">
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
</sql>
<select id="selectWmsRawInstockDetailList" parameterType="WmsRawInstockDetail" resultMap="WmsRawInstockDetailResult">
<include refid="selectWmsRawInstockDetailVo"/>
<where>
<if test="rawInstockId != null "> and raw_instock_id = #{rawInstockId}</if>
<if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if>
<if test="materialBarcode != null and materialBarcode != ''"> and material_barcode = #{materialBarcode}</if>
<if test="instockBatch != null and instockBatch != ''"> and instock_batch = #{instockBatch}</if>
<if test="materialId != null "> and material_id = #{materialId}</if>
<if test="poNo != null and poNo != ''"> and po_no = #{poNo}</if>
<if test="materialProductionDate != null "> and material_production_date = #{materialProductionDate}</if>
<if test="planAmount != null "> and plan_amount = #{planAmount}</if>
<if test="instockAmount != null "> and instock_amount = #{instockAmount}</if>
<if test="executeStatus != null and executeStatus != ''"> and execute_status = #{executeStatus}</if>
<if test="erpStatus != null and erpStatus != ''"> and erp_status = #{erpStatus}</if>
<if test="instockPerson != null and instockPerson != ''"> and instock_person = #{instockPerson}</if>
<if test="instockTime != null "> and instock_time = #{instockTime}</if>
<if test="instockWay != null and instockWay != ''"> and instock_way = #{instockWay}</if>
<if test="machineName != null and machineName != ''"> and machine_name like concat('%', #{machineName}, '%')</if>
<if test="qualityStatus != null and qualityStatus != ''"> and quality_status = #{qualityStatus}</if>
<if test="stackAmount != null "> and stack_amount = #{stackAmount}</if>
<if test="createDate != null "> and create_date = #{createDate}</if>
<if test="updateDate != null "> and update_date = #{updateDate}</if>
<if test="activeFlag != null and activeFlag != ''"> and active_flag = #{activeFlag}</if>
<if test="poLine != null and poLine != ''"> and po_line = #{poLine}</if>
</where>
</select>
<select id="selectWmsRawInstockDetailByRawInstockDetailId" parameterType="Long" resultMap="WmsRawInstockDetailResult">
<include refid="selectWmsRawInstockDetailVo"/>
where raw_instock_detail_id = #{rawInstockDetailId}
</select>
<insert id="insertWmsRawInstockDetail" parameterType="WmsRawInstockDetail" useGeneratedKeys="true" keyProperty="rawInstockDetailId">
insert into wms_raw_instock_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="rawInstockId != null">raw_instock_id,</if>
<if test="locationCode != null and locationCode != ''">location_code,</if>
<if test="materialBarcode != null and materialBarcode != ''">material_barcode,</if>
<if test="instockBatch != null">instock_batch,</if>
<if test="materialId != null">material_id,</if>
<if test="poNo != null">po_no,</if>
<if test="materialProductionDate != null">material_production_date,</if>
<if test="planAmount != null">plan_amount,</if>
<if test="instockAmount != null">instock_amount,</if>
<if test="executeStatus != null and executeStatus != ''">execute_status,</if>
<if test="erpStatus != null">erp_status,</if>
<if test="instockPerson != null">instock_person,</if>
<if test="instockTime != null">instock_time,</if>
<if test="instockWay != null and instockWay != ''">instock_way,</if>
<if test="machineName != null">machine_name,</if>
<if test="qualityStatus != null">quality_status,</if>
<if test="stackAmount != null">stack_amount,</if>
<if test="createBy != null">create_by,</if>
<if test="createDate != null">create_date,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateDate != null">update_date,</if>
<if test="activeFlag != null">active_flag,</if>
<if test="poLine != null">po_line,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="rawInstockId != null">#{rawInstockId},</if>
<if test="locationCode != null and locationCode != ''">#{locationCode},</if>
<if test="materialBarcode != null and materialBarcode != ''">#{materialBarcode},</if>
<if test="instockBatch != null">#{instockBatch},</if>
<if test="materialId != null">#{materialId},</if>
<if test="poNo != null">#{poNo},</if>
<if test="materialProductionDate != null">#{materialProductionDate},</if>
<if test="planAmount != null">#{planAmount},</if>
<if test="instockAmount != null">#{instockAmount},</if>
<if test="executeStatus != null and executeStatus != ''">#{executeStatus},</if>
<if test="erpStatus != null">#{erpStatus},</if>
<if test="instockPerson != null">#{instockPerson},</if>
<if test="instockTime != null">#{instockTime},</if>
<if test="instockWay != null and instockWay != ''">#{instockWay},</if>
<if test="machineName != null">#{machineName},</if>
<if test="qualityStatus != null">#{qualityStatus},</if>
<if test="stackAmount != null">#{stackAmount},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createDate != null">#{createDate},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateDate != null">#{updateDate},</if>
<if test="activeFlag != null">#{activeFlag},</if>
<if test="poLine != null">#{poLine},</if>
</trim>
</insert>
<update id="updateWmsRawInstockDetail" parameterType="WmsRawInstockDetail">
update wms_raw_instock_detail
<trim prefix="SET" suffixOverrides=",">
<if test="rawInstockId != null">raw_instock_id = #{rawInstockId},</if>
<if test="locationCode != null and locationCode != ''">location_code = #{locationCode},</if>
<if test="materialBarcode != null and materialBarcode != ''">material_barcode = #{materialBarcode},</if>
<if test="instockBatch != null">instock_batch = #{instockBatch},</if>
<if test="materialId != null">material_id = #{materialId},</if>
<if test="poNo != null">po_no = #{poNo},</if>
<if test="materialProductionDate != null">material_production_date = #{materialProductionDate},</if>
<if test="planAmount != null">plan_amount = #{planAmount},</if>
<if test="instockAmount != null">instock_amount = #{instockAmount},</if>
<if test="executeStatus != null and executeStatus != ''">execute_status = #{executeStatus},</if>
<if test="erpStatus != null">erp_status = #{erpStatus},</if>
<if test="instockPerson != null">instock_person = #{instockPerson},</if>
<if test="instockTime != null">instock_time = #{instockTime},</if>
<if test="instockWay != null and instockWay != ''">instock_way = #{instockWay},</if>
<if test="machineName != null">machine_name = #{machineName},</if>
<if test="qualityStatus != null">quality_status = #{qualityStatus},</if>
<if test="stackAmount != null">stack_amount = #{stackAmount},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createDate != null">create_date = #{createDate},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateDate != null">update_date = #{updateDate},</if>
<if test="activeFlag != null">active_flag = #{activeFlag},</if>
<if test="poLine != null">po_line = #{poLine},</if>
</trim>
where raw_instock_detail_id = #{rawInstockDetailId}
</update>
<delete id="deleteWmsRawInstockDetailByRawInstockDetailId" parameterType="Long">
delete from wms_raw_instock_detail where raw_instock_detail_id = #{rawInstockDetailId}
</delete>
<delete id="deleteWmsRawInstockDetailByRawInstockDetailIds" parameterType="String">
delete from wms_raw_instock_detail where raw_instock_detail_id in
<foreach item="rawInstockDetailId" collection="array" open="(" separator="," close=")">
#{rawInstockDetailId}
</foreach>
</delete>
</mapper>

@ -12,53 +12,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="poNo" column="po_no" />
<result property="operationType" column="operation_type" />
<result property="instockType" column="instock_type" />
<result property="applyReason" column="apply_reason" />
<result property="auditReason" column="audit_reason" />
<result property="auditStatus" column="audit_status" />
<result property="materialId" column="material_id" />
<result property="materialBarcode" column="material_barcode" />
<result property="materialBatchCode" column="material_batch_code" />
<result property="palletInfoCode" column="pallet_info_code" />
<result property="instockAmount" column="instock_amount" />
<result property="executeStatus" column="execute_status" />
<result property="erpStatus" column="erp_status" />
<result property="erpAmount" column="erp_amount" />
<result property="applyBy" column="apply_by" />
<result property="applyDate" column="apply_date" />
<result property="auditBy" column="audit_by" />
<result property="auditDate" column="audit_date" />
<result property="machineName" column="machine_name" />
<result property="qualityStatus" column="quality_status" />
<result property="updateBy" column="update_by" />
<result property="updateDate" column="update_date" />
<result property="beginTime" column="begin_time" />
<result property="endTime" column="end_time" />
</resultMap>
<resultMap id="WmsRawInstockWmsRawInstockDetailResult" type="WmsRawInstock" extends="WmsRawInstockResult">
<collection property="wmsRawInstockDetailList" notNullColumn="sub_raw_instock_detail_id" javaType="java.util.List" resultMap="WmsRawInstockDetailResult" />
</resultMap>
<resultMap type="WmsRawInstockDetail" id="WmsRawInstockDetailResult">
<result property="rawInstockDetailId" column="sub_raw_instock_detail_id" />
<result property="rawInstockId" column="sub_raw_instock_id" />
<result property="locationCode" column="sub_location_code" />
<result property="materialBarcode" column="sub_material_barcode" />
<result property="materialId" column="sub_material_id" />
<result property="poNo" column="po_no" />
<result property="instockBatch" column="sub_instock_batch" />
<result property="materialProductionDate" column="sub_material_production_Date" />
<result property="planAmount" column="sub_plan_amount" />
<result property="instockAmount" column="sub_instock_amount" />
<result property="executeStatus" column="sub_execute_status" />
<result property="erpStatus" column="sub_erp_status" />
<result property="instockPerson" column="sub_instock_person" />
<result property="instockTime" column="sub_instock_time" />
<result property="instockWay" column="sub_instock_way" />
<result property="machineName" column="sub_machine_name" />
<result property="qualityStatus" column="sub_quality_status" />
<result property="stackAmount" column="sub_stack_amount" />
<result property="createBy" column="sub_create_by" />
<result property="createDate" column="sub_create_date" />
<result property="updateBy" column="sub_update_by" />
<result property="updateDate" column="sub_update_date" />
<result property="activeFlag" column="sub_active_flag" />
<result property="poLine" column="sub_po_line" />
</resultMap>
<sql id="selectWmsRawInstockVo">
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
</sql>
<select id="selectWmsRawInstockList" parameterType="WmsRawInstock" resultMap="WmsRawInstockResult">
@ -84,12 +57,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="selectWmsRawInstockByRawInstockId" parameterType="Long" resultMap="WmsRawInstockWmsRawInstockDetailResult">
select a.raw_instock_id, a.task_code, a.warehouse_id, a.location_code, a.po_no, a.operation_type, a.instock_type, a.apply_reason, a.audit_reason, a.audit_status, a.execute_status, a.apply_by, a.apply_date, a.audit_by, a.audit_date, a.update_by, a.update_date, a.begin_time, a.end_time,
b.raw_instock_detail_id as sub_raw_instock_detail_id, b.raw_instock_id as sub_raw_instock_id, b.location_code as sub_location_code, b.material_barcode as sub_material_barcode, b.material_id as sub_material_id, b.instock_batch as sub_instock_batch, b.material_production_Date as sub_material_production_Date, b.instock_amount as sub_instock_amount, b.execute_status as sub_execute_status, b.erp_status as sub_erp_status, b.instock_person as sub_instock_person, b.instock_time as sub_instock_time, b.instock_way as sub_instock_way, b.machine_name as sub_machine_name, b.quality_status as sub_quality_status, b.stack_amount as sub_stack_amount, b.create_by as sub_create_by, b.create_date as sub_create_date, b.update_by as sub_update_by, b.update_date as sub_update_date, b.active_flag as sub_active_flag, b.po_line as sub_po_line
from wms_raw_instock a
left join wms_raw_instock_detail b on b.raw_instock_id = a.raw_instock_id
where a.raw_instock_id = #{rawInstockId}
<select id="selectWmsRawInstockByRawInstockId" parameterType="Long" resultMap="WmsRawInstockResult">
<include refid="selectWmsRawInstockVo"/>
where raw_instock_id = #{rawInstockId}
</select>
<insert id="insertWmsRawInstock" parameterType="WmsRawInstock" useGeneratedKeys="true" keyProperty="rawInstockId">
@ -101,14 +71,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="poNo != null">po_no,</if>
<if test="operationType != null and operationType != ''">operation_type,</if>
<if test="instockType != null and instockType != ''">instock_type,</if>
<if test="applyReason != null">apply_reason,</if>
<if test="auditReason != null">audit_reason,</if>
<if test="auditStatus != null">audit_status,</if>
<if test="executeStatus != null">execute_status,</if>
<if test="materialId != null">material_id,</if>
<if test="materialBarcode != null">material_barcode,</if>
<if test="materialBatchCode != null">material_batch_code,</if>
<if test="palletInfoCode != null">pallet_info_code,</if>
<if test="instockAmount != null">instock_amount,</if>
<if test="executeStatus != null and executeStatus != ''">execute_status,</if>
<if test="erpStatus != null">erp_status,</if>
<if test="erpAmount != null">erp_amount,</if>
<if test="applyBy != null">apply_by,</if>
<if test="applyDate != null">apply_date,</if>
<if test="auditBy != null">audit_by,</if>
<if test="auditDate != null">audit_date,</if>
<if test="machineName != null">machine_name,</if>
<if test="qualityStatus != null">quality_status,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateDate != null">update_date,</if>
<if test="beginTime != null">begin_time,</if>
@ -121,14 +95,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="poNo != null">#{poNo},</if>
<if test="operationType != null and operationType != ''">#{operationType},</if>
<if test="instockType != null and instockType != ''">#{instockType},</if>
<if test="applyReason != null">#{applyReason},</if>
<if test="auditReason != null">#{auditReason},</if>
<if test="auditStatus != null">#{auditStatus},</if>
<if test="executeStatus != null">#{executeStatus},</if>
<if test="materialId != null">#{materialId},</if>
<if test="materialBarcode != null">#{materialBarcode},</if>
<if test="materialBatchCode != null">#{materialBatchCode},</if>
<if test="palletInfoCode != null">#{palletInfoCode},</if>
<if test="instockAmount != null">#{instockAmount},</if>
<if test="executeStatus != null and executeStatus != ''">#{executeStatus},</if>
<if test="erpStatus != null">#{erpStatus},</if>
<if test="erpAmount != null">#{erpAmount},</if>
<if test="applyBy != null">#{applyBy},</if>
<if test="applyDate != null">#{applyDate},</if>
<if test="auditBy != null">#{auditBy},</if>
<if test="auditDate != null">#{auditDate},</if>
<if test="machineName != null">#{machineName},</if>
<if test="qualityStatus != null">#{qualityStatus},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateDate != null">#{updateDate},</if>
<if test="beginTime != null">#{beginTime},</if>
@ -145,14 +123,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="poNo != null">po_no = #{poNo},</if>
<if test="operationType != null and operationType != ''">operation_type = #{operationType},</if>
<if test="instockType != null and instockType != ''">instock_type = #{instockType},</if>
<if test="applyReason != null">apply_reason = #{applyReason},</if>
<if test="auditReason != null">audit_reason = #{auditReason},</if>
<if test="auditStatus != null">audit_status = #{auditStatus},</if>
<if test="executeStatus != null">execute_status = #{executeStatus},</if>
<if test="materialId != null">material_id = #{materialId},</if>
<if test="materialBarcode != null">material_barcode = #{materialBarcode},</if>
<if test="materialBatchCode != null">material_batch_code = #{materialBatchCode},</if>
<if test="palletInfoCode != null">pallet_info_code = #{palletInfoCode},</if>
<if test="instockAmount != null">instock_amount = #{instockAmount},</if>
<if test="executeStatus != null and executeStatus != ''">execute_status = #{executeStatus},</if>
<if test="erpStatus != null">erp_status = #{erpStatus},</if>
<if test="erpAmount != null">erp_amount = #{erpAmount},</if>
<if test="applyBy != null">apply_by = #{applyBy},</if>
<if test="applyDate != null">apply_date = #{applyDate},</if>
<if test="auditBy != null">audit_by = #{auditBy},</if>
<if test="auditDate != null">audit_date = #{auditDate},</if>
<if test="machineName != null">machine_name = #{machineName},</if>
<if test="qualityStatus != null">quality_status = #{qualityStatus},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateDate != null">update_date = #{updateDate},</if>
<if test="beginTime != null">begin_time = #{beginTime},</if>
@ -172,21 +154,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</delete>
<delete id="deleteWmsRawInstockDetailByRawInstockIds" parameterType="String">
delete from wms_raw_instock_detail where raw_instock_id in
<foreach item="rawInstockId" collection="array" open="(" separator="," close=")">
#{rawInstockId}
</foreach>
</delete>
<delete id="deleteWmsRawInstockDetailByRawInstockId" parameterType="Long">
delete from wms_raw_instock_detail where raw_instock_id = #{rawInstockId}
</delete>
<insert id="batchWmsRawInstockDetail">
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
<foreach item="item" index="index" collection="list" separator=",">
( #{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})
</foreach>
</insert>
<select id="selectWmsRawInstockByBarcode" parameterType="String" resultMap="WmsRawInstockResult">
<include refid="selectWmsRawInstockVo"/>
where material_barcode = #{materialBarcode}
</select>
</mapper>

@ -183,5 +183,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="selectCountOfWmsRawOutstockDetail" parameterType="WmsRawOutstockDetail">
select count(1) from wms_raw_outstock_detail
<where>
<if test="rawOutstockId != null "> and raw_outstock_id = #{rawOutstockId}</if>
<if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if>
<if test="executeStatus != null and executeStatus != ''"> and execute_status = #{executeStatus}</if>
<if test="auditStatus != null and auditStatus != ''"> and exists (select 1 from wms_raw_outstock wro where wro.raw_outstock_id=wrod.raw_outstock_id and wro.audit_status=#{auditStatus})</if>
<if test="materialBarcode != null and materialBarcode != ''"> and material_barcode = #{materialBarcode}</if>
<if test="materialId != null "> and material_id = #{materialId}</if>
<if test="instockBatch != null and instockBatch != ''"> and instock_batch = #{instockBatch}</if>
<if test="materialProductionDate != null "> and material_production_Date = #{materialProductionDate}</if>
<if test="planAmount != null "> and plan_amount = #{planAmount}</if>
<if test="executeStatusStr != null and executeStatusStr != ''"> and execute_status in (${executeStatusStr})</if>
<if test="erpStatus != null and erpStatus != ''"> and erp_status = #{erpStatus}</if>
<if test="outstockPerson != null and outstockPerson != ''"> and outstock_person = #{outstockPerson}</if>
<if test="outstockTime != null "> and outstock_time = #{outstockTime}</if>
<if test="outstockWay != null and outstockWay != ''"> and outstock_way = #{outstockWay}</if>
<if test="machineName != null and machineName != ''"> and machine_name like concat('%', #{machineName}, '%')</if>
<if test="qualityStatus != null and qualityStatus != ''"> and quality_status = #{qualityStatus}</if>
<if test="createDate != null "> and create_date = #{createDate}</if>
<if test="updateDate != null "> and update_date = #{updateDate}</if>
</where>
</select>
</mapper>

@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="materialBatch" column="material_batch" />
<result property="palletInfoCode" column="pallet_info_code" />
<result property="outstockAmount" column="outstock_amount" />
<result property="realOutstockAmount" column="real_outstock_amount" />
<result property="endStationCode" column="end_station_code" />
<result property="operationType" column="operation_type" />
<result property="taskType" column="task_type" />
@ -33,6 +34,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="beginTime" column="begin_time" />
<result property="endTime" column="end_time" />
<result property="warehouseName" column="warehouse_name" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="planAmount" column="plan_amount" />
<result property="instockBatch" column="instock_batch" />
<result property="rawOutstockDetailId" column="raw_outstock_detail_id" />
</resultMap>
<resultMap id="WmsRawOutstockWmsRawOutstockDetailResult" type="WmsRawOutstock" extends="WmsRawOutstockResult">
@ -64,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectWmsRawOutstockVo">
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
</sql>
<select id="selectWmsRawOutstockList" parameterType="WmsRawOutstock" resultMap="WmsRawOutstockResult">
@ -84,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="auditReason != null and auditReason != ''"> and audit_reason = #{auditReason}</if>
<if test="auditStatus != null and auditStatus != ''"> and audit_status = #{auditStatus}</if>
<if test="executeStatus != null and executeStatus != ''"> and execute_status = #{executeStatus}</if>
<if test="executeStatusStr != null and executeStatusStr != ''"> and execute_status in (${executeStatusStr})</if>
<if test="applyBy != null and applyBy != ''"> and apply_by = #{applyBy}</if>
<if test="applyDate != null "> and apply_date = #{applyDate}</if>
<if test="auditBy != null and auditBy != ''"> and audit_by = #{auditBy}</if>
@ -176,6 +183,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialBatch != null">material_batch = #{materialBatch},</if>
<if test="palletInfoCode != null">pallet_info_code = #{palletInfoCode},</if>
<if test="outstockAmount != null">outstock_amount = #{outstockAmount},</if>
<if test="realOutstockAmount != null">real_outstock_amount = #{realOutstockAmount},</if>
<if test="endStationCode != null">end_station_code = #{endStationCode},</if>
<if test="operationType != null and operationType != ''">operation_type = #{operationType},</if>
<if test="taskType != null and taskType != ''">task_type = #{taskType},</if>
@ -236,6 +244,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="selectWmsRawOutstockJoinList4Audit" parameterType="WmsRawOutstock" resultMap="WmsRawOutstockResult">
select wro.task_code, wro.warehouse_id, wro.apply_reason, wro.apply_by, wro.apply_date,wro.plan_code,wro.plan_detail_code,
wbw.warehouse_name
from wms_raw_outstock wro left join wms_base_warehouse wbw on wro.warehouse_id = wbw.warehouse_id
<where>
<if test="auditStatus != null and auditStatus != ''"> and wro.audit_status = #{auditStatus}</if>
</where>
group by wro.task_code,wro.warehouse_id, wro.apply_reason, wro.apply_by, wro.apply_date,wro.plan_code,wro.plan_detail_code
</select>
<!--as转换是为了兼容PDA转换-->
<select id="selectWmsRawOutstockJoinMaterialList" parameterType="WmsRawOutstock" resultMap="WmsRawOutstockResult">
select wro.raw_outstock_id as raw_outstock_detail_id, wro.task_code,wro.location_code,wro.material_batch as instock_batch,wro.outstock_amount as plan_amount,wro.real_outstock_amount as outstock_amount,wro.apply_by,wro.apply_date,
mbmi.material_code,mbmi.material_name
from wms_raw_outstock wro left join mes_base_material_info mbmi on wro.product_id = mbmi.material_id
<where>
<if test="taskCode != null and taskCode != ''"> and wro.task_code = #{taskCode}</if>
<if test="auditStatus != null and auditStatus != ''"> and wro.audit_status = #{auditStatus}</if>
<if test="applyBy != null and applyBy != ''"> and wro.apply_by like concat('%', #{applyBy}, '%')</if>
</where>
</select>
<insert id="batchWmsRawOutstock">
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"
</foreach>
</insert>
<update id="auditWmsRawOutstockByTaskCode" parameterType="WmsRawOutstock">
update wms_raw_outstock
<trim prefix="SET" suffixOverrides=",">
<if test="auditReason != null">audit_reason = #{auditReason},</if>
<if test="auditStatus != null and auditStatus != ''">audit_status = #{auditStatus},</if>
<if test="auditBy != null">audit_by = #{auditBy},</if>
<if test="auditDate != null">audit_date = #{auditDate},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateDate != null">update_date = #{updateDate},</if>
</trim>
where task_code = #{taskCode}
</update>
</mapper>

Loading…
Cancel
Save