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 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; atomicInt = wmsMoveSeq;
}else if(wmsMergeSeqType.equals(type)) { }else if(wmsMergeSeqType.equals(type)) {
atomicInt = wmsMergeSeq; atomicInt = wmsMergeSeq;
}else if(rawInstockSeqType.equals(type)) {
atomicInt = rawInstockSeq;
} }
return getId(atomicInt, 3, code); return getId(atomicInt, 3, code);
} }

@ -106,7 +106,7 @@ public class WmsMobileController extends BaseController {
startPage(); startPage();
WmsRawOutstock wmsRawOutstock = new WmsRawOutstock(); WmsRawOutstock wmsRawOutstock = new WmsRawOutstock();
wmsRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_TOAUDIT); wmsRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_TOAUDIT);
List<WmsRawOutstock> list = wmsRawOutstockService.selectWmsRawOutstockJoinList(wmsRawOutstock); List<WmsRawOutstock> list = wmsRawOutstockService.selectWmsRawOutstockJoinList4Audit(wmsRawOutstock);
return getDataTable(list); return getDataTable(list);
} }
@ -114,9 +114,14 @@ public class WmsMobileController extends BaseController {
* *
*/ */
// @RequiresPermissions("wms:rawoutstock:query") // @RequiresPermissions("wms:rawoutstock:query")
@GetMapping(value = "/getRawOutstockByOutstockId/{rawOutstockId}") // @GetMapping(value = "/getRawOutstockByOutstockId/{rawOutstockId}")
public AjaxResult getRawOutstockByOutstockId(@PathVariable("rawOutstockId") Long rawOutstockId) { // public AjaxResult getRawOutstockByOutstockId(@PathVariable("rawOutstockId") Long rawOutstockId) {
return success(wmsRawOutstockService.selectWmsRawOutstockByRawOutstockId(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") // @RequiresPermissions("wms:rawoutstock:list")
@GetMapping("/getAuditPassRawOutstockDetails") @GetMapping("/getAuditPassRawOutstockDetails")
public TableDataInfo getAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail) { public TableDataInfo getAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock) {
startPage(); startPage();
// WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail(); // WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail();
// wmsRawOutstockDetail.setApplyBy(request.getParameter("applyBy")); // wmsRawOutstockDetail.setApplyBy(request.getParameter("applyBy"));
List<WmsRawOutstockDetail> list = wmsRawOutstockService.selectAuditPassRawOutstockDetails(wmsRawOutstockDetail); List<WmsRawOutstock> list = wmsRawOutstockService.selectAuditPassRawOutstocks(wmsRawOutstock);
return getDataTable(list); return getDataTable(list);
} }

@ -1,6 +1,6 @@
package com.hw.wms.domain; package com.hw.wms.domain;
import java.util.List; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
@ -10,9 +10,9 @@ import com.hw.common.core.web.domain.BaseEntity;
/** /**
* wms_raw_instock * wms_raw_instock
* *
* @author xs * @author xs
* @date 2023-12-21 * @date 2024-03-27
*/ */
public class WmsRawInstock extends BaseEntity public class WmsRawInstock extends BaseEntity
{ {
@ -37,47 +37,62 @@ public class WmsRawInstock extends BaseEntity
@Excel(name = "采购订单号,入库扫描条码时获取唯一条码") @Excel(name = "采购订单号,入库扫描条码时获取唯一条码")
private String poNo; private String poNo;
/** 操作类型(0自动,1手动,2强制,3调度) */ /** 操作类型(0自动,1人工,2强制,3调度) */
@Excel(name = "操作类型(0自动,1手动,2强制,3调度)") @Excel(name = "操作类型(0自动,1人工,2强制,3调度)")
private String operationType; private String operationType;
/** 入库类型(1采购入库,2移库入库,3合库入库,9其他入库) */ /** 入库类型(1采购入库,2返库入库,9其他入库) */
@Excel(name = "入库类型(1采购入库,2移库入库,3合库入库,9其他入库)") @Excel(name = "入库类型(1采购入库,2返库入库,9其他入库)")
private String instockType; private String instockType;
/** 申请原因 */ /** 物料ID关联物料信息主键 */
@Excel(name = "申请原因") @Excel(name = "物料ID关联物料信息主键")
private String applyReason; private Long materialId;
/** 审核原因 */ /** 物料条码,人工存放 */
@Excel(name = "审核原因") @Excel(name = "物料条码,人工存放")
private String auditReason; private String materialBarcode;
/** 审核状态(0待审核,1审核通过,2审核未通过) */ /** agv的存批次条码 */
@Excel(name = "审核状态(0待审核,1审核通过,2审核未通过)") @Excel(name = "agv的存批次条码")
private String auditStatus; private String materialBatchCode;
/** 托盘RFID代码如果是五楼辅料库存放料箱编码 */
@Excel(name = "托盘RFID代码", readConverterExp = "如=果是五楼辅料库存放料箱编码")
private String palletInfoCode;
/** 入库数量 */
@Excel(name = "入库数量")
private BigDecimal instockAmount;
/** 执行状态(0待执行,1执行中,2执行完成) */ /** 执行状态(0待执行,1执行中,2执行完成) */
@Excel(name = "执行状态(0待执行,1执行中,2执行完成)") @Excel(name = "执行状态(0待执行,1执行中,2执行完成)")
private String executeStatus; private String executeStatus;
/** 申请人 */ /** 同步ERP状态(0:失败,1成功) */
@Excel(name = "申请人") @Excel(name = "同步ERP状态(0:失败,1成功)")
private String erpStatus;
/** 同步给ERP的数量 */
@Excel(name = "同步给ERP的数量")
private String erpAmount;
/** 入库人 */
@Excel(name = "入库人")
private String applyBy; private String applyBy;
/** 申请时间 */ /** 入库时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date applyDate; private Date applyDate;
/** 审核人 */ /** 机台名称 */
@Excel(name = "审核人") @Excel(name = "机台名称")
private String auditBy; private String machineName;
/** 审核时间 */ /** 质检状态(0:待质检,1:合格,2:NG) */
@JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "质检状态(0:待质检,1:合格,2:NG)")
@Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd") private String qualityStatus;
private Date auditDate;
/** 最后更新时间 */ /** 最后更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@ -94,205 +109,231 @@ public class WmsRawInstock extends BaseEntity
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endTime; private Date endTime;
/** 原材料入库记录明细信息 */ public void setRawInstockId(Long rawInstockId)
private List<WmsRawInstockDetail> wmsRawInstockDetailList;
public void setRawInstockId(Long rawInstockId)
{ {
this.rawInstockId = rawInstockId; this.rawInstockId = rawInstockId;
} }
public Long getRawInstockId() public Long getRawInstockId()
{ {
return rawInstockId; return rawInstockId;
} }
public void setTaskCode(String taskCode) public void setTaskCode(String taskCode)
{ {
this.taskCode = taskCode; this.taskCode = taskCode;
} }
public String getTaskCode() public String getTaskCode()
{ {
return taskCode; return taskCode;
} }
public void setWarehouseId(Long warehouseId) public void setWarehouseId(Long warehouseId)
{ {
this.warehouseId = warehouseId; this.warehouseId = warehouseId;
} }
public Long getWarehouseId() public Long getWarehouseId()
{ {
return warehouseId; return warehouseId;
} }
public void setLocationCode(String locationCode) public void setLocationCode(String locationCode)
{ {
this.locationCode = locationCode; this.locationCode = locationCode;
} }
public String getLocationCode() public String getLocationCode()
{ {
return locationCode; return locationCode;
} }
public void setPoNo(String poNo) public void setPoNo(String poNo)
{ {
this.poNo = poNo; this.poNo = poNo;
} }
public String getPoNo() public String getPoNo()
{ {
return poNo; return poNo;
} }
public void setOperationType(String operationType) public void setOperationType(String operationType)
{ {
this.operationType = operationType; this.operationType = operationType;
} }
public String getOperationType() public String getOperationType()
{ {
return operationType; return operationType;
} }
public void setInstockType(String instockType) public void setInstockType(String instockType)
{ {
this.instockType = instockType; this.instockType = instockType;
} }
public String getInstockType() public String getInstockType()
{ {
return instockType; return instockType;
} }
public void setApplyReason(String applyReason) public void setMaterialId(Long materialId)
{ {
this.applyReason = applyReason; this.materialId = materialId;
} }
public String getApplyReason() public Long getMaterialId()
{ {
return applyReason; return materialId;
} }
public void setAuditReason(String auditReason) public void setMaterialBarcode(String materialBarcode)
{ {
this.auditReason = auditReason; this.materialBarcode = materialBarcode;
} }
public String getAuditReason() public String getMaterialBarcode()
{ {
return auditReason; return materialBarcode;
} }
public void setAuditStatus(String auditStatus) public void setMaterialBatchCode(String materialBatchCode)
{ {
this.auditStatus = auditStatus; this.materialBatchCode = materialBatchCode;
} }
public String getAuditStatus() public String getMaterialBatchCode()
{ {
return auditStatus; return materialBatchCode;
} }
public void setExecuteStatus(String executeStatus) public void setPalletInfoCode(String palletInfoCode)
{
this.palletInfoCode = palletInfoCode;
}
public String getPalletInfoCode()
{
return palletInfoCode;
}
public void setInstockAmount(BigDecimal instockAmount)
{
this.instockAmount = instockAmount;
}
public BigDecimal getInstockAmount()
{
return instockAmount;
}
public void setExecuteStatus(String executeStatus)
{ {
this.executeStatus = executeStatus; this.executeStatus = executeStatus;
} }
public String getExecuteStatus() public String getExecuteStatus()
{ {
return executeStatus; return executeStatus;
} }
public void setApplyBy(String applyBy) public void setErpStatus(String erpStatus)
{
this.erpStatus = erpStatus;
}
public String getErpStatus()
{
return erpStatus;
}
public void setErpAmount(String erpAmount)
{
this.erpAmount = erpAmount;
}
public String getErpAmount()
{
return erpAmount;
}
public void setApplyBy(String applyBy)
{ {
this.applyBy = applyBy; this.applyBy = applyBy;
} }
public String getApplyBy() public String getApplyBy()
{ {
return applyBy; return applyBy;
} }
public void setApplyDate(Date applyDate) public void setApplyDate(Date applyDate)
{ {
this.applyDate = applyDate; this.applyDate = applyDate;
} }
public Date getApplyDate() public Date getApplyDate()
{ {
return applyDate; return applyDate;
} }
public void setAuditBy(String auditBy) public void setMachineName(String machineName)
{ {
this.auditBy = auditBy; this.machineName = machineName;
} }
public String getAuditBy() public String getMachineName()
{ {
return auditBy; return machineName;
} }
public void setAuditDate(Date auditDate) public void setQualityStatus(String qualityStatus)
{ {
this.auditDate = auditDate; this.qualityStatus = qualityStatus;
} }
public Date getAuditDate() public String getQualityStatus()
{ {
return auditDate; return qualityStatus;
} }
public void setUpdateDate(Date updateDate) public void setUpdateDate(Date updateDate)
{ {
this.updateDate = updateDate; this.updateDate = updateDate;
} }
public Date getUpdateDate() public Date getUpdateDate()
{ {
return updateDate; return updateDate;
} }
public void setBeginTime(Date beginTime) public void setBeginTime(Date beginTime)
{ {
this.beginTime = beginTime; this.beginTime = beginTime;
} }
public Date getBeginTime() public Date getBeginTime()
{ {
return beginTime; return beginTime;
} }
public void setEndTime(Date endTime) public void setEndTime(Date endTime)
{ {
this.endTime = endTime; this.endTime = endTime;
} }
public Date getEndTime() public Date getEndTime()
{ {
return endTime; return endTime;
} }
public List<WmsRawInstockDetail> getWmsRawInstockDetailList()
{
return wmsRawInstockDetailList;
}
public void setWmsRawInstockDetailList(List<WmsRawInstockDetail> wmsRawInstockDetailList)
{
this.wmsRawInstockDetailList = wmsRawInstockDetailList;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("rawInstockId", getRawInstockId()) .append("rawInstockId", getRawInstockId())
.append("taskCode", getTaskCode()) .append("taskCode", getTaskCode())
.append("warehouseId", getWarehouseId()) .append("warehouseId", getWarehouseId())
.append("locationCode", getLocationCode()) .append("locationCode", getLocationCode())
.append("poNo", getPoNo()) .append("poNo", getPoNo())
.append("operationType", getOperationType()) .append("operationType", getOperationType())
.append("instockType", getInstockType()) .append("instockType", getInstockType())
.append("applyReason", getApplyReason()) .append("materialId", getMaterialId())
.append("auditReason", getAuditReason()) .append("materialBarcode", getMaterialBarcode())
.append("auditStatus", getAuditStatus()) .append("materialBatchCode", getMaterialBatchCode())
.append("executeStatus", getExecuteStatus()) .append("palletInfoCode", getPalletInfoCode())
.append("applyBy", getApplyBy()) .append("instockAmount", getInstockAmount())
.append("applyDate", getApplyDate()) .append("executeStatus", getExecuteStatus())
.append("auditBy", getAuditBy()) .append("erpStatus", getErpStatus())
.append("auditDate", getAuditDate()) .append("erpAmount", getErpAmount())
.append("updateBy", getUpdateBy()) .append("applyBy", getApplyBy())
.append("updateDate", getUpdateDate()) .append("applyDate", getApplyDate())
.append("beginTime", getBeginTime()) .append("machineName", getMachineName())
.append("endTime", getEndTime()) .append("qualityStatus", getQualityStatus())
.append("wmsRawInstockDetailList", getWmsRawInstockDetailList()) .append("updateBy", getUpdateBy())
.toString(); .append("updateDate", getUpdateDate())
.append("beginTime", getBeginTime())
.append("endTime", getEndTime())
.toString();
} }
} }

@ -1,336 +1,336 @@
package com.hw.wms.domain; //package com.hw.wms.domain;
//
import java.math.BigDecimal; //import java.math.BigDecimal;
import java.util.Date; //import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; //import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder; //import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; //import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel; //import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity; //import com.hw.common.core.web.domain.BaseEntity;
//
/** ///**
* wms_raw_instock_detail // * 原材料入库记录明细对象 wms_raw_instock_detail
* // *
* @author xs // * @author xs
* @date 2023-12-21 // * @date 2023-12-21
*/ // */
public class WmsRawInstockDetail extends BaseEntity //public class WmsRawInstockDetail extends BaseEntity
{ //{
private static final long serialVersionUID = 1L; // private static final long serialVersionUID = 1L;
//
/** 原材料入库记录明细ID */ // /** 原材料入库记录明细ID */
private Long rawInstockDetailId; // private Long rawInstockDetailId;
//
/** 原材料入库ID */ // /** 原材料入库ID */
@Excel(name = "原材料入库ID") // @Excel(name = "原材料入库ID")
private Long rawInstockId; // private Long rawInstockId;
//
/** 库位编码 */ // /** 库位编码 */
@Excel(name = "库位编码") // @Excel(name = "库位编码")
private String locationCode; // private String locationCode;
//
/** 存放物料条码 */ // /** 存放物料条码 */
@Excel(name = "存放物料条码") // @Excel(name = "存放物料条码")
private String materialBarcode; // private String materialBarcode;
//
/** 物料ID */ // /** 物料ID */
@Excel(name = "物料ID") // @Excel(name = "物料ID")
private Long materialId; // private Long materialId;
//
/** 批次;入库扫描条码时,从打印条码记录表中获取 */ // /** 批次;入库扫描条码时,从打印条码记录表中获取 */
@Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取") // @Excel(name = "批次;入库扫描条码时,从打印条码记录表中获取")
private String instockBatch; // private String instockBatch;
//
/** 生产日期;入库扫描条码时,从打印条码记录表中获取 */ // /** 生产日期;入库扫描条码时,从打印条码记录表中获取 */
@JsonFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生产日期;入库扫描条码时,从打印条码记录表中获取", width = 30, dateFormat = "yyyy-MM-dd") // @Excel(name = "生产日期;入库扫描条码时,从打印条码记录表中获取", width = 30, dateFormat = "yyyy-MM-dd")
private Date materialProductionDate; // private Date materialProductionDate;
//
/** 入库数量 */ // /** 入库数量 */
@Excel(name = "计划数量") // @Excel(name = "计划数量")
private BigDecimal planAmount; // private BigDecimal planAmount;
//
/** 入库数量 */ // /** 入库数量 */
@Excel(name = "入库数量") // @Excel(name = "入库数量")
private BigDecimal instockAmount; // private BigDecimal instockAmount;
//
/** 执行状态(0待执行,1执行中,2执行完成) */ // /** 执行状态(0待执行,1执行中,2执行完成) */
@Excel(name = "执行状态(0待执行,1执行中,2执行完成)") // @Excel(name = "执行状态(0待执行,1执行中,2执行完成)")
private String executeStatus; // private String executeStatus;
//
/** 同步ERP状态(0:失败,1成功) */ // /** 同步ERP状态(0:失败,1成功) */
@Excel(name = "同步ERP状态(0:失败,1成功)") // @Excel(name = "同步ERP状态(0:失败,1成功)")
private String erpStatus; // private String erpStatus;
//
/** 入库人 */ // /** 入库人 */
@Excel(name = "入库人") // @Excel(name = "入库人")
private String instockPerson; // private String instockPerson;
//
/** 入库时间 */ // /** 入库时间 */
@JsonFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd") // @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date instockTime; // private Date instockTime;
//
/** 入库方式( 0PC入库 1手持入库 2AGV入库 */ // /** 入库方式( 0PC入库 1手持入库 2AGV入库 */
@Excel(name = "入库方式", readConverterExp = "0=PC入库,1=:手持入库,2=AGV入库") // @Excel(name = "入库方式", readConverterExp = "0=PC入库,1=:手持入库,2=AGV入库")
private String instockWay; // private String instockWay;
//
/** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */ // /** 使用机台名称;入库扫描条码时,从打印条码记录表中获取 */
@Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取") // @Excel(name = "使用机台名称;入库扫描条码时,从打印条码记录表中获取")
private String machineName; // private String machineName;
//
/** 质检状态(0:待质检,1:合格,2:NG) */ // /** 质检状态(0:待质检,1:合格,2:NG) */
@Excel(name = "质检状态(0:待质检,1:合格,2:NG)") // @Excel(name = "质检状态(0:待质检,1:合格,2:NG)")
private String qualityStatus; // private String qualityStatus;
//
/** 每托数量 */ // /** 每托数量 */
@Excel(name = "每托数量") // @Excel(name = "每托数量")
private BigDecimal stackAmount; // private BigDecimal stackAmount;
//
/** 创建时间 */ // /** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") // @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createDate; // private Date createDate;
//
/** 最后更新时间 */ // /** 最后更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd") // @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd") // @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date updateDate; // private Date updateDate;
//
/** 有效标记 */ // /** 有效标记 */
@Excel(name = "有效标记") // @Excel(name = "有效标记")
private String activeFlag; // private String activeFlag;
//
//采购订单号 // //采购订单号
private String poNo; // private String poNo;
/** 采购订单行项目 */ // /** 采购订单行项目 */
@Excel(name = "采购订单行项目") // @Excel(name = "采购订单行项目")
private String poLine; // private String poLine;
//
public void setRawInstockDetailId(Long rawInstockDetailId) // public void setRawInstockDetailId(Long rawInstockDetailId)
{ // {
this.rawInstockDetailId = rawInstockDetailId; // this.rawInstockDetailId = rawInstockDetailId;
} // }
//
public Long getRawInstockDetailId() // public Long getRawInstockDetailId()
{ // {
return rawInstockDetailId; // return rawInstockDetailId;
} // }
public void setRawInstockId(Long rawInstockId) // public void setRawInstockId(Long rawInstockId)
{ // {
this.rawInstockId = rawInstockId; // this.rawInstockId = rawInstockId;
} // }
//
public Long getRawInstockId() // public Long getRawInstockId()
{ // {
return rawInstockId; // return rawInstockId;
} // }
public void setLocationCode(String locationCode) // public void setLocationCode(String locationCode)
{ // {
this.locationCode = locationCode; // this.locationCode = locationCode;
} // }
//
public String getLocationCode() // public String getLocationCode()
{ // {
return locationCode; // return locationCode;
} // }
public void setMaterialBarcode(String materialBarcode) // public void setMaterialBarcode(String materialBarcode)
{ // {
this.materialBarcode = materialBarcode; // this.materialBarcode = materialBarcode;
} // }
//
public String getMaterialBarcode() // public String getMaterialBarcode()
{ // {
return materialBarcode; // return materialBarcode;
} // }
public void setMaterialId(Long materialId) // public void setMaterialId(Long materialId)
{ // {
this.materialId = materialId; // this.materialId = materialId;
} // }
//
public Long getMaterialId() // public Long getMaterialId()
{ // {
return materialId; // return materialId;
} // }
public void setInstockBatch(String instockBatch) // public void setInstockBatch(String instockBatch)
{ // {
this.instockBatch = instockBatch; // this.instockBatch = instockBatch;
} // }
//
public String getInstockBatch() // public String getInstockBatch()
{ // {
return instockBatch; // return instockBatch;
} // }
public void setMaterialProductionDate(Date materialProductionDate) // public void setMaterialProductionDate(Date materialProductionDate)
{ // {
this.materialProductionDate = materialProductionDate; // this.materialProductionDate = materialProductionDate;
} // }
//
public Date getMaterialProductionDate() // public Date getMaterialProductionDate()
{ // {
return materialProductionDate; // return materialProductionDate;
} // }
//
public BigDecimal getPlanAmount() { // public BigDecimal getPlanAmount() {
return planAmount; // return planAmount;
} // }
//
public void setPlanAmount(BigDecimal planAmount) { // public void setPlanAmount(BigDecimal planAmount) {
this.planAmount = planAmount; // this.planAmount = planAmount;
} // }
//
public void setInstockAmount(BigDecimal instockAmount) // public void setInstockAmount(BigDecimal instockAmount)
{ // {
this.instockAmount = instockAmount; // this.instockAmount = instockAmount;
} // }
//
public BigDecimal getInstockAmount() // public BigDecimal getInstockAmount()
{ // {
return instockAmount; // return instockAmount;
} // }
public void setExecuteStatus(String executeStatus) // public void setExecuteStatus(String executeStatus)
{ // {
this.executeStatus = executeStatus; // this.executeStatus = executeStatus;
} // }
//
public String getExecuteStatus() // public String getExecuteStatus()
{ // {
return executeStatus; // return executeStatus;
} // }
public void setErpStatus(String erpStatus) // public void setErpStatus(String erpStatus)
{ // {
this.erpStatus = erpStatus; // this.erpStatus = erpStatus;
} // }
//
public String getErpStatus() // public String getErpStatus()
{ // {
return erpStatus; // return erpStatus;
} // }
public void setInstockPerson(String instockPerson) // public void setInstockPerson(String instockPerson)
{ // {
this.instockPerson = instockPerson; // this.instockPerson = instockPerson;
} // }
//
public String getInstockPerson() // public String getInstockPerson()
{ // {
return instockPerson; // return instockPerson;
} // }
public void setInstockTime(Date instockTime) // public void setInstockTime(Date instockTime)
{ // {
this.instockTime = instockTime; // this.instockTime = instockTime;
} // }
//
public Date getInstockTime() // public Date getInstockTime()
{ // {
return instockTime; // return instockTime;
} // }
public void setInstockWay(String instockWay) // public void setInstockWay(String instockWay)
{ // {
this.instockWay = instockWay; // this.instockWay = instockWay;
} // }
//
public String getInstockWay() // public String getInstockWay()
{ // {
return instockWay; // return instockWay;
} // }
public void setMachineName(String machineName) // public void setMachineName(String machineName)
{ // {
this.machineName = machineName; // this.machineName = machineName;
} // }
//
public String getMachineName() // public String getMachineName()
{ // {
return machineName; // return machineName;
} // }
public void setQualityStatus(String qualityStatus) // public void setQualityStatus(String qualityStatus)
{ // {
this.qualityStatus = qualityStatus; // this.qualityStatus = qualityStatus;
} // }
//
public String getQualityStatus() // public String getQualityStatus()
{ // {
return qualityStatus; // return qualityStatus;
} // }
public void setStackAmount(BigDecimal stackAmount) // public void setStackAmount(BigDecimal stackAmount)
{ // {
this.stackAmount = stackAmount; // this.stackAmount = stackAmount;
} // }
//
public BigDecimal getStackAmount() // public BigDecimal getStackAmount()
{ // {
return stackAmount; // return stackAmount;
} // }
public void setCreateDate(Date createDate) // public void setCreateDate(Date createDate)
{ // {
this.createDate = createDate; // this.createDate = createDate;
} // }
//
public Date getCreateDate() // public Date getCreateDate()
{ // {
return createDate; // return createDate;
} // }
public void setUpdateDate(Date updateDate) // public void setUpdateDate(Date updateDate)
{ // {
this.updateDate = updateDate; // this.updateDate = updateDate;
} // }
//
public Date getUpdateDate() // public Date getUpdateDate()
{ // {
return updateDate; // return updateDate;
} // }
public void setActiveFlag(String activeFlag) // public void setActiveFlag(String activeFlag)
{ // {
this.activeFlag = activeFlag; // this.activeFlag = activeFlag;
} // }
//
public String getActiveFlag() // public String getActiveFlag()
{ // {
return activeFlag; // return activeFlag;
} // }
//
public String getPoNo() { // public String getPoNo() {
return poNo; // return poNo;
} // }
//
public void setPoNo(String poNo) { // public void setPoNo(String poNo) {
this.poNo = poNo; // this.poNo = poNo;
} // }
//
public void setPoLine(String poLine) // public void setPoLine(String poLine)
{ // {
this.poLine = poLine; // this.poLine = poLine;
} // }
//
public String getPoLine() // public String getPoLine()
{ // {
return poLine; // return poLine;
} // }
//
@Override // @Override
public String toString() { // public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) // return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("rawInstockDetailId", getRawInstockDetailId()) // .append("rawInstockDetailId", getRawInstockDetailId())
.append("rawInstockId", getRawInstockId()) // .append("rawInstockId", getRawInstockId())
.append("locationCode", getLocationCode()) // .append("locationCode", getLocationCode())
.append("materialBarcode", getMaterialBarcode()) // .append("materialBarcode", getMaterialBarcode())
.append("materialId", getMaterialId()) // .append("materialId", getMaterialId())
.append("instockBatch", getInstockBatch()) // .append("instockBatch", getInstockBatch())
.append("materialProductionDate", getMaterialProductionDate()) // .append("materialProductionDate", getMaterialProductionDate())
.append("instockAmount", getInstockAmount()) // .append("instockAmount", getInstockAmount())
.append("executeStatus", getExecuteStatus()) // .append("executeStatus", getExecuteStatus())
.append("erpStatus", getErpStatus()) // .append("erpStatus", getErpStatus())
.append("instockPerson", getInstockPerson()) // .append("instockPerson", getInstockPerson())
.append("instockTime", getInstockTime()) // .append("instockTime", getInstockTime())
.append("instockWay", getInstockWay()) // .append("instockWay", getInstockWay())
.append("machineName", getMachineName()) // .append("machineName", getMachineName())
.append("qualityStatus", getQualityStatus()) // .append("qualityStatus", getQualityStatus())
.append("stackAmount", getStackAmount()) // .append("stackAmount", getStackAmount())
.append("createBy", getCreateBy()) // .append("createBy", getCreateBy())
.append("createDate", getCreateDate()) // .append("createDate", getCreateDate())
.append("updateBy", getUpdateBy()) // .append("updateBy", getUpdateBy())
.append("updateDate", getUpdateDate()) // .append("updateDate", getUpdateDate())
.append("activeFlag", getActiveFlag()) // .append("activeFlag", getActiveFlag())
.append("poLine", getPoLine()) // .append("poLine", getPoLine())
.toString(); // .toString();
} // }
} //}

@ -24,6 +24,10 @@ public class WmsRawOutstock extends BaseEntity {
*/ */
private Long rawOutstockId; private Long rawOutstockId;
/**
* ID,PDA使raw_outstock_id
*/
private Long rawOutstockDetailId;
/** /**
* ; * ;
*/ */
@ -73,17 +77,25 @@ public class WmsRawOutstock extends BaseEntity {
private Long productId; private Long productId;
/** 物料批次 */ /** 物料批次 */
@Excel(name = "物料条码") @Excel(name = "物料批次")
private String materialBatch; private String materialBatch;
/** 物料批次转换兼容PDA使用 */
@Excel(name = "物料批次")
private String instockBatch;
/** 托盘RFID代码 */ /** 托盘RFID代码 */
@Excel(name = "托盘RFID代码") @Excel(name = "托盘RFID代码")
private String palletInfoCode; private String palletInfoCode;
/** 出库数量 */ /** 计划出库数量 */
@Excel(name = "出库数量") @Excel(name = "计划出库数量")
private BigDecimal outstockAmount; private BigDecimal outstockAmount;
/** 出库数量 */
@Excel(name = "已出库数量")
private BigDecimal realOutstockAmount;
/** 出库目的地 */ /** 出库目的地 */
@Excel(name = "出库目的地") @Excel(name = "出库目的地")
private String endStationCode; private String endStationCode;
@ -173,6 +185,17 @@ public class WmsRawOutstock extends BaseEntity {
private String warehouseName; 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; return rawOutstockId;
} }
public Long getRawOutstockDetailId() {
return rawOutstockDetailId;
}
public void setRawOutstockDetailId(Long rawOutstockDetailId) {
this.rawOutstockDetailId = rawOutstockDetailId;
}
public void setTaskCode(String taskCode) { public void setTaskCode(String taskCode) {
this.taskCode = taskCode; this.taskCode = taskCode;
} }
@ -258,6 +289,14 @@ public class WmsRawOutstock extends BaseEntity {
this.materialBatch = materialBatch; this.materialBatch = materialBatch;
} }
public String getInstockBatch() {
return instockBatch;
}
public void setInstockBatch(String instockBatch) {
this.instockBatch = instockBatch;
}
public String getPalletInfoCode() { public String getPalletInfoCode() {
return palletInfoCode; return palletInfoCode;
} }
@ -274,6 +313,14 @@ public class WmsRawOutstock extends BaseEntity {
this.outstockAmount = outstockAmount; this.outstockAmount = outstockAmount;
} }
public BigDecimal getRealOutstockAmount() {
return realOutstockAmount;
}
public void setRealOutstockAmount(BigDecimal realOutstockAmount) {
this.realOutstockAmount = realOutstockAmount;
}
public String getEndStationCode() { public String getEndStationCode() {
return endStationCode; return endStationCode;
} }
@ -402,6 +449,38 @@ public class WmsRawOutstock extends BaseEntity {
this.warehouseName = warehouseName; 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 @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) 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 { public class WmsRawOutstockAuditVo {
//原材料出库记录ID //原材料出库记录ID
@NotNull(message = "原材料出库记录ID必须输入") // @NotNull(message = "原材料出库记录ID必须输入")
private Long rawOutstockId; // private Long rawOutstockId;
//审核状态
@NotBlank(message = "任务编号必须输入")
private String taskCode;
//审核状态 //审核状态
@NotBlank(message = "审核状态必须输入") @NotBlank(message = "审核状态必须输入")

@ -1,61 +1,61 @@
package com.hw.wms.mapper; //package com.hw.wms.mapper;
//
import java.util.List; //import java.util.List;
import com.hw.wms.domain.WmsRawInstockDetail; //import com.hw.wms.domain.WmsRawInstockDetail;
//
/** ///**
* Mapper // * 原材料入库记录明细Mapper接口
* // *
* @author xins // * @author xins
* @date 2023-12-25 // * @date 2023-12-25
*/ // */
public interface WmsRawInstockDetailMapper //public interface WmsRawInstockDetailMapper
{ //{
/** // /**
* // * 查询原材料入库记录明细
* // *
* @param rawInstockDetailId // * @param rawInstockDetailId 原材料入库记录明细主键
* @return // * @return 原材料入库记录明细
*/ // */
public WmsRawInstockDetail selectWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId); // public WmsRawInstockDetail selectWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId);
//
/** // /**
* // * 查询原材料入库记录明细列表
* // *
* @param wmsRawInstockDetail // * @param wmsRawInstockDetail 原材料入库记录明细
* @return // * @return 原材料入库记录明细集合
*/ // */
public List<WmsRawInstockDetail> selectWmsRawInstockDetailList(WmsRawInstockDetail wmsRawInstockDetail); // public List<WmsRawInstockDetail> selectWmsRawInstockDetailList(WmsRawInstockDetail wmsRawInstockDetail);
//
/** // /**
* // * 新增原材料入库记录明细
* // *
* @param wmsRawInstockDetail // * @param wmsRawInstockDetail 原材料入库记录明细
* @return // * @return 结果
*/ // */
public int insertWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail); // public int insertWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail);
//
/** // /**
* // * 修改原材料入库记录明细
* // *
* @param wmsRawInstockDetail // * @param wmsRawInstockDetail 原材料入库记录明细
* @return // * @return 结果
*/ // */
public int updateWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail); // public int updateWmsRawInstockDetail(WmsRawInstockDetail wmsRawInstockDetail);
//
/** // /**
* // * 删除原材料入库记录明细
* // *
* @param rawInstockDetailId // * @param rawInstockDetailId 原材料入库记录明细主键
* @return // * @return 结果
*/ // */
public int deleteWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId); // public int deleteWmsRawInstockDetailByRawInstockDetailId(Long rawInstockDetailId);
//
/** // /**
* // * 批量删除原材料入库记录明细
* // *
* @param rawInstockDetailIds // * @param rawInstockDetailIds 需要删除的数据主键集合
* @return // * @return 结果
*/ // */
public int deleteWmsRawInstockDetailByRawInstockDetailIds(Long[] rawInstockDetailIds); // public int deleteWmsRawInstockDetailByRawInstockDetailIds(Long[] rawInstockDetailIds);
} //}

@ -2,7 +2,6 @@ package com.hw.wms.mapper;
import java.util.List; import java.util.List;
import com.hw.wms.domain.WmsRawInstock; import com.hw.wms.domain.WmsRawInstock;
import com.hw.wms.domain.WmsRawInstockDetail;
/** /**
* Mapper * Mapper
@ -60,29 +59,14 @@ public interface WmsRawInstockMapper
*/ */
public int deleteWmsRawInstockByRawInstockIds(Long[] rawInstockIds); 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 * @param materialBarcode
* @return * @return
*/ */
public int deleteWmsRawInstockDetailByRawInstockId(Long rawInstockId); public WmsRawInstock selectWmsRawInstockByBarcode(String materialBarcode);
} }

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

@ -102,4 +102,32 @@ public interface WmsRawOutstockMapper
* @return * @return
*/ */
public int batchWmsRawOutstock(List<WmsRawOutstock> wmsRawOutstockList); 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); public WmsRawOutstock selectWmsRawOutstockByRawOutstockId(Long rawOutstockId);
/**
*
*
* @param taskCode
* @return VO
*/
public WmsRawOutstockAuditReturnVo selectWmsRawOutstockByTaskCode(String taskCode);
/** /**
* *
* *
@ -68,7 +76,7 @@ public interface IWmsRawOutstockService
* *
* @param wmsRawOutstockAuditVo * @param wmsRawOutstockAuditVo
*/ */
public JSONObject auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo); public int auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo);
/** /**
* *
@ -78,12 +86,12 @@ public interface IWmsRawOutstockService
public int confirmWmsRawOutstock(WmsRawOutstockConfirmVo wmsRawOutstockConfirmVo); public int confirmWmsRawOutstock(WmsRawOutstockConfirmVo wmsRawOutstockConfirmVo);
/** /**
* 使 * 使
* *
* @param wmsRawOutstockDetail * @param wmsRawOutstock
* @return * @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); public List<WmsRawOutstock> selectWmsRawOutstockJoinList(WmsRawOutstock wmsRawOutstock);
/**
* ,join warehouse
*
* @param wmsRawOutstock
* @return
*/
public List<WmsRawOutstock> selectWmsRawOutstockJoinList4Audit(WmsRawOutstock wmsRawOutstock);
/** /**
* *
* @param wmsAssembleOutstockVo * @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.constant.WmsConstants;
import com.hw.common.core.domain.R; import com.hw.common.core.domain.R;
import com.hw.common.core.exception.ServiceException; 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.common.security.utils.SecurityUtils;
import com.hw.mes.api.RemoteMesService; import com.hw.mes.api.RemoteMesService;
import com.hw.mes.api.domain.MesBaseBarcodeInfo; 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.WmsRawStock;
import com.hw.wms.domain.vo.WmsRawInstockVo; import com.hw.wms.domain.vo.WmsRawInstockVo;
import com.hw.wms.mapper.WmsBaseLocationMapper; import com.hw.wms.mapper.WmsBaseLocationMapper;
import com.hw.wms.mapper.WmsRawInstockDetailMapper;
import com.hw.wms.mapper.WmsRawStockMapper; import com.hw.wms.mapper.WmsRawStockMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import com.hw.common.core.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.hw.wms.domain.WmsRawInstockDetail;
import com.hw.wms.mapper.WmsRawInstockMapper; import com.hw.wms.mapper.WmsRawInstockMapper;
import com.hw.wms.domain.WmsRawInstock; import com.hw.wms.domain.WmsRawInstock;
import com.hw.wms.service.IWmsRawInstockService; import com.hw.wms.service.IWmsRawInstockService;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.annotation.Resources;
/** /**
* Service * Service
@ -44,9 +39,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService {
@Autowired @Autowired
private WmsRawInstockMapper wmsRawInstockMapper; private WmsRawInstockMapper wmsRawInstockMapper;
@Autowired
private WmsRawInstockDetailMapper wmsRawInstockDetailMapper;
@Autowired @Autowired
private WmsBaseLocationMapper wmsBaseLocationMapper; private WmsBaseLocationMapper wmsBaseLocationMapper;
@ -90,7 +82,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService {
@Override @Override
public int insertWmsRawInstock(WmsRawInstock wmsRawInstock) { public int insertWmsRawInstock(WmsRawInstock wmsRawInstock) {
int rows = wmsRawInstockMapper.insertWmsRawInstock(wmsRawInstock); int rows = wmsRawInstockMapper.insertWmsRawInstock(wmsRawInstock);
insertWmsRawInstockDetail(wmsRawInstock);
return rows; return rows;
} }
@ -103,8 +94,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int updateWmsRawInstock(WmsRawInstock wmsRawInstock) { public int updateWmsRawInstock(WmsRawInstock wmsRawInstock) {
wmsRawInstockMapper.deleteWmsRawInstockDetailByRawInstockId(wmsRawInstock.getRawInstockId());
insertWmsRawInstockDetail(wmsRawInstock);
return wmsRawInstockMapper.updateWmsRawInstock(wmsRawInstock); return wmsRawInstockMapper.updateWmsRawInstock(wmsRawInstock);
} }
@ -117,7 +106,6 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService {
@Transactional @Transactional
@Override @Override
public int deleteWmsRawInstockByRawInstockIds(Long[] rawInstockIds) { public int deleteWmsRawInstockByRawInstockIds(Long[] rawInstockIds) {
wmsRawInstockMapper.deleteWmsRawInstockDetailByRawInstockIds(rawInstockIds);
return wmsRawInstockMapper.deleteWmsRawInstockByRawInstockIds(rawInstockIds); return wmsRawInstockMapper.deleteWmsRawInstockByRawInstockIds(rawInstockIds);
} }
@ -130,30 +118,9 @@ public class WmsRawInstockServiceImpl implements IWmsRawInstockService {
@Transactional @Transactional
@Override @Override
public int deleteWmsRawInstockByRawInstockId(Long rawInstockId) { public int deleteWmsRawInstockByRawInstockId(Long rawInstockId) {
wmsRawInstockMapper.deleteWmsRawInstockDetailByRawInstockId(rawInstockId);
return wmsRawInstockMapper.deleteWmsRawInstockByRawInstockId(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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int insertWmsRawInstock(WmsRawInstockVo wmsRawInstockVo) { public int insertWmsRawInstock(WmsRawInstockVo wmsRawInstockVo) {
String materialBarcode = wmsRawInstockVo.getMaterialBarcode(); String materialBarcode = wmsRawInstockVo.getMaterialBarcode();
R<MesBaseBarcodeInfo> baseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER); R<MesBaseBarcodeInfo> baseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER);
MesBaseBarcodeInfo baseBarcodeInfo = baseBarcodeInfoR.getData(); 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(); Date currentDate = new Date();
String userName = SecurityUtils.getUsername(); String userName = SecurityUtils.getUsername();
WmsRawInstock wmsRawInstock = new WmsRawInstock(); WmsRawInstock wmsRawInstock = new WmsRawInstock();
wmsRawInstock.setTaskCode(Seq.getId(Seq.rawInstockSeqType,Seq.rawInstockSeqCode));
wmsRawInstock.setWarehouseId(baseLocation.getWarehouseId()); wmsRawInstock.setWarehouseId(baseLocation.getWarehouseId());
wmsRawInstock.setLocationCode(locationCode); wmsRawInstock.setLocationCode(locationCode);
wmsRawInstock.setPoNo(baseBarcodeInfo.getPoNo()); wmsRawInstock.setPoNo(baseBarcodeInfo.getPoNo());
wmsRawInstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_MANUAL); wmsRawInstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_MANUAL);
wmsRawInstock.setInstockType(WmsConstants.RAW_INSTOCK_INSTOCK_TYPE_PURCHASE); wmsRawInstock.setInstockType(WmsConstants.RAW_INSTOCK_INSTOCK_TYPE_PURCHASE);
wmsRawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH); wmsRawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH);
wmsRawInstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS);
wmsRawInstock.setApplyBy(userName); wmsRawInstock.setApplyBy(userName);
wmsRawInstock.setApplyDate(currentDate); wmsRawInstock.setApplyDate(currentDate);
wmsRawInstock.setMaterialBarcode(wmsRawInstockVo.getMaterialBarcode());
wmsRawInstock.setMaterialBatchCode(baseBarcodeInfo.getBatchCode());
wmsRawInstock.setMaterialId(baseBarcodeInfo.getMaterialId());
wmsRawInstock.setInstockAmount(wmsRawInstockVo.getInstockAmount());
//插入记录 //插入记录
int rows = wmsRawInstockMapper.insertWmsRawInstock(wmsRawInstock); int rows = wmsRawInstockMapper.insertWmsRawInstock(wmsRawInstock);
//插入明细
insertWmsRawInstockDetail(wmsRawInstock, wmsRawInstockVo, baseBarcodeInfo);
//更新库位库存 //更新库位库存
updateRawStock(wmsRawInstock, wmsRawInstockVo, baseLocation, baseBarcodeInfo, userName, currentDate); 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 @Autowired
private WmsRawInstockMapper wmsRawInstockMapper; private WmsRawInstockMapper wmsRawInstockMapper;
@Autowired
private WmsRawInstockDetailMapper wmsRawInstockDetailMapper;
@Autowired @Autowired
private WmsRawStockMapper wmsRawStockMapper; private WmsRawStockMapper wmsRawStockMapper;
@ -94,6 +91,23 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
return wmsRawOutstock; 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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public JSONObject auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo) { public int auditWmsRawOutstock(WmsRawOutstockAuditVo wmsRawOutstockAuditVo) {
String auditStatus = wmsRawOutstockAuditVo.getAuditStatus(); String auditStatus = wmsRawOutstockAuditVo.getAuditStatus();
String auditReason = wmsRawOutstockAuditVo.getAuditReason(); String auditReason = wmsRawOutstockAuditVo.getAuditReason();
String taskCode = wmsRawOutstockAuditVo.getTaskCode();
Date currentDate = new Date(); Date currentDate = new Date();
String userName = SecurityUtils.getUsername(); 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(); WmsRawOutstock queryRawOutstock = new WmsRawOutstock();
returnJson.put("auditStatus", auditStatus); 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 (auditStatus.equalsIgnoreCase(WmsConstants.RAW_OUTSTOCK_AUDIT_STATUS_FAIL)) {
if (StringUtils.isEmpty(auditReason)) { if (StringUtils.isEmpty(auditReason)) {
throw new ServiceException("请输入审核意见"); throw new ServiceException("请输入审核意见");
} }
List<WmsRawOutstockDetail> wmsRawOutstockDetails = wmsRawOutstock.getWmsRawOutstockDetailList(); wmsRawOutstocks.forEach(wmsRawOutstock -> {
wmsRawOutstockDetails.forEach(wmsRawOutstockDetail -> { String locationCode = wmsRawOutstock.getLocationCode();
String locationCode = wmsRawOutstockDetail.getLocationCode(); String instockBatch = wmsRawOutstock.getMaterialBatch();
String instockBatch = wmsRawOutstockDetail.getInstockBatch(); BigDecimal planAmount = wmsRawOutstock.getOutstockAmount();
BigDecimal planAmount = wmsRawOutstockDetail.getPlanAmount();
WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, instockBatch); WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, instockBatch);
if (wmsRawStock != null) { if (wmsRawStock != null) {
BigDecimal occupyAmount = wmsRawStock.getOccupyAmount() == null ? BigDecimal occupyAmount = wmsRawStock.getOccupyAmount() == null ?
@ -228,27 +243,22 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
wmsRawStockMapper.updateWmsRawStock(wmsRawStock); 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) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int confirmWmsRawOutstock(WmsRawOutstockConfirmVo wmsRawOutstockConfirmVo) { public int confirmWmsRawOutstock(WmsRawOutstockConfirmVo wmsRawOutstockConfirmVo) {
Long rawOutstockDetailId = wmsRawOutstockConfirmVo.getRawOutstockDetailId(); Long rawOutstockId = wmsRawOutstockConfirmVo.getRawOutstockDetailId();
String locationCode = wmsRawOutstockConfirmVo.getLocationCode(); String locationCode = wmsRawOutstockConfirmVo.getLocationCode();
String materialBarcode = wmsRawOutstockConfirmVo.getInstockBatch();//在此是物料条码,不是批次码 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); R<MesBaseBarcodeInfo> baseBarcodeInfoR = remoteMesService.getBarcode(materialBarcode, SecurityConstants.INNER);
MesBaseBarcodeInfo baseBarcodeInfo = baseBarcodeInfoR.getData(); MesBaseBarcodeInfo baseBarcodeInfo = baseBarcodeInfoR.getData();
if (baseBarcodeInfo == null) { if (baseBarcodeInfo == null) {
throw new ServiceException("物料编码有误"); throw new ServiceException("物料编码有误");
} }
BigDecimal outstockAmount = wmsRawOutstockConfirmVo.getOutstockAmount();
if (outstockAmount.compareTo(BigDecimal.ZERO) <= 0) {
throw new ServiceException("数量需大于0");
}
String batchFlag = baseBarcodeInfo.getBatchFlag(); String batchFlag = baseBarcodeInfo.getBatchFlag();
if (!batchFlag.equals(MesConstants.IS_BATCH)) {//如果不是批次 if (!batchFlag.equals(MesConstants.IS_BATCH)) {//如果不是批次
if (outstockAmount.compareTo(BigDecimal.ONE) != 0) { if (outstockAmount.compareTo(BigDecimal.ONE) != 0) {
@ -281,24 +292,34 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
} }
} }
String batchCode = baseBarcodeInfo.getBatchCode();
//判断是否有此出库任务,人工出库的同一个出库记录同一个库位、同一个物料对应一个明细agv的有可能是多个 //判断是否有此出库任务,人工出库的同一个出库记录同一个库位、同一个物料对应一个明细agv的有可能是多个
WmsRawOutstock queryRawOutstock = new WmsRawOutstock();
queryRawOutstock.setLocationCode(locationCode);
queryRawOutstock.setInstockBatch(batchCode);
queryRawOutstock.setExecuteStatusStr(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE + "," + WmsConstants.WMS_EXECUTE_STATUS_EXECUTING);
queryRawOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS);
queryRawOutstock.setRawOutstockId(rawOutstockId);
List<WmsRawOutstock> wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockList(queryRawOutstock);
if (wmsRawOutstocks == null || wmsRawOutstocks.isEmpty()) {
throw new ServiceException("无此出库任务");
}
if (wmsRawOutstocks.size() > 1) {
throw new ServiceException("请选择具体出库任务后点击确认");
}
WmsRawOutstock wmsRawOutstock = wmsRawOutstocks.get(0);
WmsRawOutstockDetail queryRawOutstockDetail = new WmsRawOutstockDetail(); WmsRawOutstockDetail queryRawOutstockDetail = new WmsRawOutstockDetail();
queryRawOutstockDetail.setRawOutstockId(wmsRawOutstock.getRawOutstockId());
queryRawOutstockDetail.setLocationCode(locationCode); queryRawOutstockDetail.setLocationCode(locationCode);
queryRawOutstockDetail.setInstockBatch(baseBarcodeInfo.getBatchCode()); queryRawOutstockDetail.setMaterialBarcode(materialBarcode);
queryRawOutstockDetail.setExecuteStatusStr(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE + "," + WmsConstants.WMS_EXECUTE_STATUS_EXECUTING); int rawOutstockDetailCount = wmsRawOutstockDetailMapper.selectCountOfWmsRawOutstockDetail(queryRawOutstockDetail);
queryRawOutstockDetail.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); if (rawOutstockDetailCount > 0) {
List<WmsRawOutstockDetail> wmsRawOutstockDetails = wmsRawOutstockDetailMapper.selectWmsRawOutstockDetailList(queryRawOutstockDetail); throw new ServiceException("此物料已经出库,不能重复出库");
WmsRawOutstockDetail wmsRawOutstockDetail;
if (wmsRawOutstockDetails == null || wmsRawOutstockDetails.isEmpty()) {
throw new ServiceException("没有此出库任务");
} else if (wmsRawOutstockDetails.size() > 1) {//如果有同一库位同一批次多次领料申请比方说张三领料批次A库位A3个李四领取批次A库位A4个此时就需要选择
if (rawOutstockDetailId == null) {
throw new ServiceException("请选择具体出库任务后点击确认");
} else {
wmsRawOutstockDetail = wmsRawOutstockDetails.stream().filter(wro -> wro.getRawOutstockDetailId().equals(rawOutstockDetailId)).findFirst().get();
}
} else {
wmsRawOutstockDetail = wmsRawOutstockDetails.get(0);
} }
//todo 判断质检状态 //todo 判断质检状态
@ -308,41 +329,62 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
// } // }
// 判断本次出库数量+已出库数量是否大于计划出库数量 // 判断本次出库数量+已出库数量是否大于计划出库数量
BigDecimal hadOutstockAmount = wmsRawOutstockDetail.getOutstockAmount() == null ? BigDecimal.ZERO : wmsRawOutstockDetail.getOutstockAmount(); BigDecimal hadOutstockAmount = wmsRawOutstock.getRealOutstockAmount() == null ? BigDecimal.ZERO : wmsRawOutstock.getRealOutstockAmount();
BigDecimal planOutstockAmount = wmsRawOutstockDetail.getPlanAmount(); BigDecimal planOutstockAmount = wmsRawOutstock.getOutstockAmount();
BigDecimal updatedOutstockAmount = hadOutstockAmount.add(outstockAmount); BigDecimal updatedOutstockAmount = hadOutstockAmount.add(outstockAmount);
if (updatedOutstockAmount.compareTo(planOutstockAmount) > 0) { if (updatedOutstockAmount.compareTo(planOutstockAmount) > 0) {
throw new ServiceException("出库数量不能大于" + planOutstockAmount.subtract(hadOutstockAmount)); 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(); Date currentDate = new Date();
String userName = SecurityUtils.getUsername(); String userName = SecurityUtils.getUsername();
wmsRawOutstockDetail.setExecuteStatus(executeStatus);
if (wmsRawOutstockDetail.getOutstockTime() == null) {
wmsRawOutstockDetail.setOutstockTime(currentDate);
} else {
wmsRawOutstockDetail.setUpdateDate(currentDate);
}
if (wmsRawOutstockDetail.getOutstockPerson() == null) {
wmsRawOutstockDetail.setOutstockPerson(userName);
} else {
wmsRawOutstockDetail.setUpdateBy(userName);
}
//更新原材料库存占用数量和总数量 wmsRawOutstock.setRealOutstockAmount(updatedOutstockAmount);
WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, baseBarcodeInfo.getBatchCode()); if (updatedOutstockAmount.compareTo(planOutstockAmount) == 0) {//如果已出完
wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH);
wmsRawOutstock.setEndTime(currentDate);
} else {
wmsRawOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_EXECUTING);
if (wmsRawOutstock.getBeginTime() == null) {
wmsRawOutstock.setBeginTime(currentDate);
}
}
wmsRawOutstock.setUpdateDate(currentDate);
wmsRawOutstock.setUpdateBy(userName);
wmsRawOutstockMapper.updateWmsRawOutstock(wmsRawOutstock);
insertRawOutstockDetail(wmsRawOutstock, materialBarcode, batchCode,userName, currentDate);
updateRawStock(locationCode, batchCode, outstockAmount, userName, currentDate);
return 1;
}
public void insertRawOutstockDetail(WmsRawOutstock wmsRawOutstock, String materialBarcode, String batchCode,
String userName, Date currentDate) {
WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail();
wmsRawOutstockDetail.setRawOutstockId(wmsRawOutstock.getRawOutstockId());
wmsRawOutstockDetail.setWarehouseId(wmsRawOutstock.getWarehouseId());
wmsRawOutstockDetail.setLocationCode(wmsRawOutstock.getLocationCode());
wmsRawOutstockDetail.setMaterialId(wmsRawOutstock.getProductId());
wmsRawOutstockDetail.setMaterialBarcode(materialBarcode);
wmsRawOutstockDetail.setInstockBatch(batchCode);
wmsRawOutstockDetail.setPlanAmount(BigDecimal.ONE);
wmsRawOutstockDetail.setOutstockAmount(BigDecimal.ONE);
wmsRawOutstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH);
wmsRawOutstockDetail.setOutstockPerson(userName);
wmsRawOutstockDetail.setOutstockTime(currentDate);
wmsRawOutstockDetail.setOutstockWay(WmsConstants.WMS_STOCK_WAY_MANUAL);
wmsRawOutstockDetailMapper.insertWmsRawOutstockDetail(wmsRawOutstockDetail);
}
public void updateRawStock(String locationCode, String batchCode, BigDecimal outstockAmount, String userName, Date currentDate) {
//更新原材料库存占用数量和总数量
WmsRawStock wmsRawStock = wmsRawStockMapper.selectRawStockByLocationAndBatch(locationCode, batchCode);
if (wmsRawStock == null) { if (wmsRawStock == null) {
throw new ServiceException("没找到库存信息"); throw new ServiceException("没找到库存信息");
} else { } else {
@ -351,6 +393,9 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
BigDecimal updatedOccupyAmount = occupyAmount.subtract(outstockAmount); BigDecimal updatedOccupyAmount = occupyAmount.subtract(outstockAmount);
BigDecimal updatedTotalAmount = totalAmount.subtract(outstockAmount); BigDecimal updatedTotalAmount = totalAmount.subtract(outstockAmount);
updatedOccupyAmount = updatedOccupyAmount.compareTo(BigDecimal.ZERO) >= 0 ? updatedOccupyAmount : BigDecimal.ZERO; 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; updatedTotalAmount = updatedTotalAmount.compareTo(BigDecimal.ZERO) >= 0 ? updatedTotalAmount : BigDecimal.ZERO;
wmsRawStock.setOccupyAmount(updatedOccupyAmount); wmsRawStock.setOccupyAmount(updatedOccupyAmount);
wmsRawStock.setTotalAmount(updatedTotalAmount); wmsRawStock.setTotalAmount(updatedTotalAmount);
@ -358,21 +403,19 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
wmsRawStock.setUpdateBy(userName); wmsRawStock.setUpdateBy(userName);
wmsRawStockMapper.updateWmsRawStock(wmsRawStock); wmsRawStockMapper.updateWmsRawStock(wmsRawStock);
} }
wmsRawOutstockDetailMapper.updateWmsRawOutstockDetail(wmsRawOutstockDetail);
return 1;
} }
/** /**
* 使 * 使
* *
* @param wmsRawOutstockDetail * @param wmsRawOutstock
* @return * @return
*/ */
@Override @Override
public List<WmsRawOutstockDetail> selectAuditPassRawOutstockDetails(WmsRawOutstockDetail wmsRawOutstockDetail) { public List<WmsRawOutstock> selectAuditPassRawOutstocks(WmsRawOutstock wmsRawOutstock) {
return wmsRawOutstockDetailMapper.selectAuditPassRawOutstockDetails(wmsRawOutstockDetail); 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))); // .collect(Collectors.groupingBy(WmsRawOutstockDetail::getMaterialId, HashMap::new, Collectors.reducing(BigDecimal.ZERO, WmsRawOutstockDetail::getPlanAmount, BigDecimal::add)));
//判断仓库类型,出库记录保存对应操作类型,出库记录明细保存对应出库方式 //判断仓库类型,出库记录保存对应操作类型,出库记录明细保存对应出库方式
WmsBaseWarehouse warehouse = wmsBaseWarehouseMapper.selectWmsBaseWarehouseByWarehouseId(warehouseId); WmsBaseWarehouse baseWarehouse = wmsBaseWarehouseMapper.selectWmsBaseWarehouseByWarehouseId(warehouseId);
String warehouseType = warehouse.getWarehouseType(); String warehouseType = baseWarehouse.getWarehouseType();
String outstockWay = WmsConstants.OUTSTOCK_WAY_MAP.get(warehouseType);
String queryQualityStatus = WmsConstants.WMS_QUALITY_STATUS_PASS; 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(); Date currentDate = new Date();
String userName = SecurityUtils.getUsername(); String userName = SecurityUtils.getUsername();
String taskCode = Seq.getId(Seq.rawOutstockSeqType, Seq.rawOutstockSeqCode);
//传入的申请领料list遍历 //传入的申请领料list遍历
rawOutstockDetails.forEach(rawOutstockDetail -> { rawOutstockDetails.forEach(rawOutstockDetail -> {
BigDecimal planAmount = rawOutstockDetail.getPlanAmount() == null ? BigDecimal planAmount = rawOutstockDetail.getPlanAmount() == null ?
@ -463,10 +508,10 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
//提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中 //提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中
wmsRawStockMapper.updateWmsRawStock(wmsRawStock); wmsRawStockMapper.updateWmsRawStock(wmsRawStock);
//原材料出库记录明细(有break以下方法需要写在下面) //原材料出库记录(有break以下方法需要写在此处)
WmsRawOutstockDetail wmsRawOutstockDetail = getWmsRawOutstockDetail(wmsRawStock, materialId, WmsRawOutstock toInsertedRawOutstock = getWmsRawOutstock(wmsRawStock, baseWarehouse, planCode, planDetailCode, materialId, taskCode,
planAmount, currentDate, userName, outstockWay); planAmount, currentDate, userName);
toUpdatedRawOutstockDetails.add(wmsRawOutstockDetail); toInsertedRawOutstocks.add(toInsertedRawOutstock);
planAmount = planAmount.subtract(availableAmount); planAmount = planAmount.subtract(availableAmount);
} else if (planAmount.compareTo(availableAmount) == 0) {//计划数量等于可出库数量 } else if (planAmount.compareTo(availableAmount) == 0) {//计划数量等于可出库数量
@ -477,10 +522,10 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
//如果同一个物料有多条记录的处理,提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中 //如果同一个物料有多条记录的处理,提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中
wmsRawStockMapper.updateWmsRawStock(wmsRawStock); wmsRawStockMapper.updateWmsRawStock(wmsRawStock);
//原材料出库记录明细(有break以下方法需要写在下面) //原材料出库记录(有break以下方法需要写在此处)
WmsRawOutstockDetail wmsRawOutstockDetail = getWmsRawOutstockDetail(wmsRawStock, materialId, WmsRawOutstock toInsertedRawOutstock = getWmsRawOutstock(wmsRawStock, baseWarehouse, planCode, planDetailCode, materialId, taskCode,
planAmount, currentDate, userName, outstockWay); planAmount, currentDate, userName);
toUpdatedRawOutstockDetails.add(wmsRawOutstockDetail); toInsertedRawOutstocks.add(toInsertedRawOutstock);
planAmount = BigDecimal.ZERO; planAmount = BigDecimal.ZERO;
break; break;
@ -492,10 +537,10 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
//如果同一个物料有多条记录的处理,提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中 //如果同一个物料有多条记录的处理,提前更新(主要是更新数量等信息,避免在下一次判断中还使用上次的数量),放在事务中
wmsRawStockMapper.updateWmsRawStock(wmsRawStock); wmsRawStockMapper.updateWmsRawStock(wmsRawStock);
//原材料出库记录明细(有break以下方法需要写在下面) //原材料出库记录(有break以下方法需要写在此处)
WmsRawOutstockDetail wmsRawOutstockDetail = getWmsRawOutstockDetail(wmsRawStock, materialId, WmsRawOutstock toInsertedRawOutstock = getWmsRawOutstock(wmsRawStock, baseWarehouse, planCode, planDetailCode, materialId, taskCode,
planAmount, currentDate, userName, outstockWay); planAmount, currentDate, userName);
toUpdatedRawOutstockDetails.add(wmsRawOutstockDetail); toInsertedRawOutstocks.add(toInsertedRawOutstock);
planAmount = BigDecimal.ZERO; planAmount = BigDecimal.ZERO;
break; break;
@ -511,43 +556,74 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
} }
}); });
handleRawOutstock(wmsRawOutstock,warehouse,userName,currentDate,toUpdatedRawOutstockDetails); wmsRawOutstockMapper.batchWmsRawOutstock(toInsertedRawOutstocks);
return 1; return 1;
} }
/** /**
* *
* *
* @param wmsRawStock * @param wmsRawStock
* @param baseWarehouse
* @param planCode
* @param planDetailCode
* @param materialId * @param materialId
* @param availableAmount * @param taskCode
* @param planAmount
* @param currentDate * @param currentDate
* @param userName * @param userName
* @return * @return
*/ */
private WmsRawOutstockDetail getWmsRawOutstockDetail(WmsRawStock wmsRawStock, Long materialId, private WmsRawOutstock getWmsRawOutstock(WmsRawStock wmsRawStock, WmsBaseWarehouse baseWarehouse, String planCode, String planDetailCode, Long materialId, String taskCode,
BigDecimal availableAmount, Date currentDate, String userName, String outstockWay) { BigDecimal planAmount, Date currentDate, String userName) {
WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail(); //出库要求 0申请出库1申请审核出库2直接出库
wmsRawOutstockDetail.setWarehouseId(wmsRawStock.getWarehouseId()); String outRequirement = baseWarehouse.getOutRequirement();
wmsRawOutstockDetail.setLocationCode(wmsRawStock.getLocationCode()); String warehouseType = baseWarehouse.getWarehouseType();
wmsRawOutstockDetail.setMaterialId(materialId); String operationType = WmsConstants.OPERATION_TYPE_MAP.get(warehouseType);
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);
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, public void handleRawOutstock(WmsRawOutstock wmsRawOutstock, WmsBaseWarehouse warehouse,
String userName, Date currentDate,List<WmsRawOutstockDetail> toUpdatedRawOutstockDetails) { String userName, Date currentDate, List<WmsRawOutstockDetail> toUpdatedRawOutstockDetails) {
//出库要求 0申请出库1申请审核出库2直接出库 //出库要求 0申请出库1申请审核出库2直接出库
String outRequirement = warehouse.getOutRequirement(); String outRequirement = warehouse.getOutRequirement();
String warehouseType = warehouse.getWarehouseType(); String warehouseType = warehouse.getWarehouseType();
@ -769,24 +845,24 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService {
rawInstock.setWarehouseId(wmsAgvRawOutstockVo.getWarehouseId()); rawInstock.setWarehouseId(wmsAgvRawOutstockVo.getWarehouseId());
rawInstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_AUTO); rawInstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_AUTO);
// rawInstock.setInstockType(WmsConstants.RAW_INSTOCK_INSTOCK_TYPE_MOVE); // rawInstock.setInstockType(WmsConstants.RAW_INSTOCK_INSTOCK_TYPE_MOVE);
rawInstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS); // rawInstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS);
rawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); // rawInstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE);
rawInstock.setApplyDate(currentDate); // rawInstock.setApplyDate(currentDate);
rawInstock.setApplyBy(userName); // rawInstock.setApplyBy(userName);
rawInstock.setCreateBy(userName); // rawInstock.setCreateBy(userName);
rawInstock.setCreateTime(currentDate); // rawInstock.setCreateTime(currentDate);
//
wmsRawInstockMapper.insertWmsRawInstock(rawInstock); // wmsRawInstockMapper.insertWmsRawInstock(rawInstock);
//
WmsRawInstockDetail rawInstockDetail = new WmsRawInstockDetail(); // WmsRawInstockDetail rawInstockDetail = new WmsRawInstockDetail();
rawInstockDetail.setRawInstockId(rawInstock.getRawInstockId()); // rawInstockDetail.setRawInstockId(rawInstock.getRawInstockId());
rawInstockDetail.setLocationCode(targetBaseLocation.getLocationCode()); // rawInstockDetail.setLocationCode(targetBaseLocation.getLocationCode());
rawInstockDetail.setMaterialBarcode(moveMaterialBarcode); // rawInstockDetail.setMaterialBarcode(moveMaterialBarcode);
rawInstockDetail.setMaterialId(moveMaterialId); // rawInstockDetail.setMaterialId(moveMaterialId);
rawInstockDetail.setPlanAmount(new BigDecimal(1));//todo agv数量默认1 // rawInstockDetail.setPlanAmount(new BigDecimal(1));//todo agv数量默认1
rawInstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE); // rawInstockDetail.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_TOEXECUTE);
rawInstockDetail.setInstockWay(WmsConstants.WMS_STOCK_WAY_AGV); // rawInstockDetail.setInstockWay(WmsConstants.WMS_STOCK_WAY_AGV);
wmsRawInstockDetailMapper.insertWmsRawInstockDetail(rawInstockDetail); // wmsRawInstockDetailMapper.insertWmsRawInstockDetail(rawInstockDetail);
return rawInstock; 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="poNo" column="po_no" />
<result property="operationType" column="operation_type" /> <result property="operationType" column="operation_type" />
<result property="instockType" column="instock_type" /> <result property="instockType" column="instock_type" />
<result property="applyReason" column="apply_reason" /> <result property="materialId" column="material_id" />
<result property="auditReason" column="audit_reason" /> <result property="materialBarcode" column="material_barcode" />
<result property="auditStatus" column="audit_status" /> <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="executeStatus" column="execute_status" />
<result property="erpStatus" column="erp_status" />
<result property="erpAmount" column="erp_amount" />
<result property="applyBy" column="apply_by" /> <result property="applyBy" column="apply_by" />
<result property="applyDate" column="apply_date" /> <result property="applyDate" column="apply_date" />
<result property="auditBy" column="audit_by" /> <result property="machineName" column="machine_name" />
<result property="auditDate" column="audit_date" /> <result property="qualityStatus" column="quality_status" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateDate" column="update_date" /> <result property="updateDate" column="update_date" />
<result property="beginTime" column="begin_time" /> <result property="beginTime" column="begin_time" />
<result property="endTime" column="end_time" /> <result property="endTime" column="end_time" />
</resultMap> </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"> <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> </sql>
<select id="selectWmsRawInstockList" parameterType="WmsRawInstock" resultMap="WmsRawInstockResult"> <select id="selectWmsRawInstockList" parameterType="WmsRawInstock" resultMap="WmsRawInstockResult">
@ -84,12 +57,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </select>
<select id="selectWmsRawInstockByRawInstockId" parameterType="Long" resultMap="WmsRawInstockWmsRawInstockDetailResult"> <select id="selectWmsRawInstockByRawInstockId" parameterType="Long" resultMap="WmsRawInstockResult">
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, <include refid="selectWmsRawInstockVo"/>
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 where raw_instock_id = #{rawInstockId}
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> </select>
<insert id="insertWmsRawInstock" parameterType="WmsRawInstock" useGeneratedKeys="true" keyProperty="rawInstockId"> <insert id="insertWmsRawInstock" parameterType="WmsRawInstock" useGeneratedKeys="true" keyProperty="rawInstockId">
@ -101,19 +71,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="poNo != null">po_no,</if> <if test="poNo != null">po_no,</if>
<if test="operationType != null and operationType != ''">operation_type,</if> <if test="operationType != null and operationType != ''">operation_type,</if>
<if test="instockType != null and instockType != ''">instock_type,</if> <if test="instockType != null and instockType != ''">instock_type,</if>
<if test="applyReason != null">apply_reason,</if> <if test="materialId != null">material_id,</if>
<if test="auditReason != null">audit_reason,</if> <if test="materialBarcode != null">material_barcode,</if>
<if test="auditStatus != null">audit_status,</if> <if test="materialBatchCode != null">material_batch_code,</if>
<if test="executeStatus != null">execute_status,</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="applyBy != null">apply_by,</if>
<if test="applyDate != null">apply_date,</if> <if test="applyDate != null">apply_date,</if>
<if test="auditBy != null">audit_by,</if> <if test="machineName != null">machine_name,</if>
<if test="auditDate != null">audit_date,</if> <if test="qualityStatus != null">quality_status,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="updateDate != null">update_date,</if> <if test="updateDate != null">update_date,</if>
<if test="beginTime != null">begin_time,</if> <if test="beginTime != null">begin_time,</if>
<if test="endTime != null">end_time,</if> <if test="endTime != null">end_time,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskCode != null">#{taskCode},</if> <if test="taskCode != null">#{taskCode},</if>
<if test="warehouseId != null">#{warehouseId},</if> <if test="warehouseId != null">#{warehouseId},</if>
@ -121,19 +95,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="poNo != null">#{poNo},</if> <if test="poNo != null">#{poNo},</if>
<if test="operationType != null and operationType != ''">#{operationType},</if> <if test="operationType != null and operationType != ''">#{operationType},</if>
<if test="instockType != null and instockType != ''">#{instockType},</if> <if test="instockType != null and instockType != ''">#{instockType},</if>
<if test="applyReason != null">#{applyReason},</if> <if test="materialId != null">#{materialId},</if>
<if test="auditReason != null">#{auditReason},</if> <if test="materialBarcode != null">#{materialBarcode},</if>
<if test="auditStatus != null">#{auditStatus},</if> <if test="materialBatchCode != null">#{materialBatchCode},</if>
<if test="executeStatus != null">#{executeStatus},</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="applyBy != null">#{applyBy},</if>
<if test="applyDate != null">#{applyDate},</if> <if test="applyDate != null">#{applyDate},</if>
<if test="auditBy != null">#{auditBy},</if> <if test="machineName != null">#{machineName},</if>
<if test="auditDate != null">#{auditDate},</if> <if test="qualityStatus != null">#{qualityStatus},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="updateDate != null">#{updateDate},</if> <if test="updateDate != null">#{updateDate},</if>
<if test="beginTime != null">#{beginTime},</if> <if test="beginTime != null">#{beginTime},</if>
<if test="endTime != null">#{endTime},</if> <if test="endTime != null">#{endTime},</if>
</trim> </trim>
</insert> </insert>
<update id="updateWmsRawInstock" parameterType="WmsRawInstock"> <update id="updateWmsRawInstock" parameterType="WmsRawInstock">
@ -145,14 +123,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="poNo != null">po_no = #{poNo},</if> <if test="poNo != null">po_no = #{poNo},</if>
<if test="operationType != null and operationType != ''">operation_type = #{operationType},</if> <if test="operationType != null and operationType != ''">operation_type = #{operationType},</if>
<if test="instockType != null and instockType != ''">instock_type = #{instockType},</if> <if test="instockType != null and instockType != ''">instock_type = #{instockType},</if>
<if test="applyReason != null">apply_reason = #{applyReason},</if> <if test="materialId != null">material_id = #{materialId},</if>
<if test="auditReason != null">audit_reason = #{auditReason},</if> <if test="materialBarcode != null">material_barcode = #{materialBarcode},</if>
<if test="auditStatus != null">audit_status = #{auditStatus},</if> <if test="materialBatchCode != null">material_batch_code = #{materialBatchCode},</if>
<if test="executeStatus != null">execute_status = #{executeStatus},</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="applyBy != null">apply_by = #{applyBy},</if>
<if test="applyDate != null">apply_date = #{applyDate},</if> <if test="applyDate != null">apply_date = #{applyDate},</if>
<if test="auditBy != null">audit_by = #{auditBy},</if> <if test="machineName != null">machine_name = #{machineName},</if>
<if test="auditDate != null">audit_date = #{auditDate},</if> <if test="qualityStatus != null">quality_status = #{qualityStatus},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateDate != null">update_date = #{updateDate},</if> <if test="updateDate != null">update_date = #{updateDate},</if>
<if test="beginTime != null">begin_time = #{beginTime},</if> <if test="beginTime != null">begin_time = #{beginTime},</if>
@ -172,21 +154,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</delete> </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}) <select id="selectWmsRawInstockByBarcode" parameterType="String" resultMap="WmsRawInstockResult">
</foreach> <include refid="selectWmsRawInstockVo"/>
</insert> where material_barcode = #{materialBarcode}
</select>
</mapper> </mapper>

@ -183,5 +183,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </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> </mapper>

@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="materialBatch" column="material_batch" /> <result property="materialBatch" column="material_batch" />
<result property="palletInfoCode" column="pallet_info_code" /> <result property="palletInfoCode" column="pallet_info_code" />
<result property="outstockAmount" column="outstock_amount" /> <result property="outstockAmount" column="outstock_amount" />
<result property="realOutstockAmount" column="real_outstock_amount" />
<result property="endStationCode" column="end_station_code" /> <result property="endStationCode" column="end_station_code" />
<result property="operationType" column="operation_type" /> <result property="operationType" column="operation_type" />
<result property="taskType" column="task_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="beginTime" column="begin_time" />
<result property="endTime" column="end_time" /> <result property="endTime" column="end_time" />
<result property="warehouseName" column="warehouse_name" /> <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>
<resultMap id="WmsRawOutstockWmsRawOutstockDetailResult" type="WmsRawOutstock" extends="WmsRawOutstockResult"> <resultMap id="WmsRawOutstockWmsRawOutstockDetailResult" type="WmsRawOutstock" extends="WmsRawOutstockResult">
@ -64,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectWmsRawOutstockVo"> <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> </sql>
<select id="selectWmsRawOutstockList" parameterType="WmsRawOutstock" resultMap="WmsRawOutstockResult"> <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="auditReason != null and auditReason != ''"> and audit_reason = #{auditReason}</if>
<if test="auditStatus != null and auditStatus != ''"> and audit_status = #{auditStatus}</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="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="applyBy != null and applyBy != ''"> and apply_by = #{applyBy}</if>
<if test="applyDate != null "> and apply_date = #{applyDate}</if> <if test="applyDate != null "> and apply_date = #{applyDate}</if>
<if test="auditBy != null and auditBy != ''"> and audit_by = #{auditBy}</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="materialBatch != null">material_batch = #{materialBatch},</if>
<if test="palletInfoCode != null">pallet_info_code = #{palletInfoCode},</if> <if test="palletInfoCode != null">pallet_info_code = #{palletInfoCode},</if>
<if test="outstockAmount != null">outstock_amount = #{outstockAmount},</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="endStationCode != null">end_station_code = #{endStationCode},</if>
<if test="operationType != null and operationType != ''">operation_type = #{operationType},</if> <if test="operationType != null and operationType != ''">operation_type = #{operationType},</if>
<if test="taskType != null and taskType != ''">task_type = #{taskType},</if> <if test="taskType != null and taskType != ''">task_type = #{taskType},</if>
@ -236,6 +244,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where> </where>
</select> </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 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 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> </foreach>
</insert> </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> </mapper>

Loading…
Cancel
Save