盘点自动分配 盘点确认

This commit is contained in:
liuhanqing
2025-09-18 17:15:48 +08:00
parent 0361c5846f
commit f0541955aa
11 changed files with 48 additions and 456 deletions

View File

@@ -40,17 +40,6 @@ public class ToWmsApiController {
}
/**
* 小车接收开始信号
*/
@PostMapping("/startSignal")
public AjaxResult startSignal(@RequestBody RequestEnter requestEnter) {
AjaxResult ajaxResult = toWmsService.startSignal(requestEnter);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "startSignal",ajaxResult);
requestLogService.insertRequestLog(requestLog);
return ajaxResult;
}
/**
* 入库、出库 任务完成回传
* Map<String, String>
@@ -93,22 +82,6 @@ public class ToWmsApiController {
}
/**
* ctu取完箱子反馈
* @param map{
* "portCode"
* "wmsType"
* }
* @return
*/
@PostMapping("/takeCompleted")
public AjaxResult takeCompleted(@RequestBody Map<String, Object> map) {
AjaxResult ajaxResult = toWmsService.takeCompleted(map);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(map), "takeCompleted",ajaxResult);
requestLogService.insertRequestLog(requestLog);
return ajaxResult;
}
/**
* 接收入库单据

View File

@@ -49,6 +49,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -240,7 +241,12 @@ public class ToWmsServiceImpl implements IToWmsService {
transferBillCallbackService.insertTransferBillCallback(transferBillCallback);
}
return AjaxResult.success();
HashMap<String,String> result = new HashMap<>();
result.put("jobId", mydoJob.getJobId());
result.put("taskNo", mydoJob.getTaskNo());
result.put("cargoSpaceId", mydoJob.getCargoSpaceId());
result.put("entranceId", mydoJob.getEntranceId());
return AjaxResult.success(result);
}

View File

@@ -108,7 +108,7 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl<BasCargoSpaceMapper,Ba
* @return 库存信息集合
*/
@Override
@DataScope(warehouseAlias = "bw")
// @DataScope(warehouseAlias = "bw")
public List<BasCargoSpace> selectBasCargoSpaceListByRoadway(BasCargoSpace basCargoSpace) {
return basCargoSpaceMapper.selectBasCargoSpaceListByRoadway(basCargoSpace);
}

View File

@@ -182,6 +182,7 @@ public class CheckStockinServiceImpl implements ICheckStockinService
checkStockin.setStatus("1");
checkStockin.setStockSource("0");
checkStockin.setCheckType(checkStockin.getCheckType());
//checkStockin.setErpBill(checkStockin.getErpBill());
if ("1".equals(checkStockin.getCheckType())){
//物料盘点
for (int i = 0; i < detailList.size(); i++) {
@@ -193,6 +194,7 @@ public class CheckStockinServiceImpl implements ICheckStockinService
checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid());
checkStockinDetail.setScanNum("0");
checkStockinDetail.setAssignNum("0");
// checkStockinDetail.
checkStockinDetailService.insertCheckStockinDetail(checkStockinDetail);
}
}else if ("2".equals(checkStockin.getCheckType())){

View File

@@ -3,6 +3,10 @@ package com.ruoyi.check.stockcheckdetail.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.domain.ExtraField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -12,6 +16,10 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author ruoyi
* @date 2025-05-29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class CheckStockinDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -152,396 +160,11 @@ public class CheckStockinDetail extends BaseEntity
private String status;
private String cargoSpaceName;
private String orderId;
private ExtraField extraField;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getCargoSpaceName() {
return cargoSpaceName;
}
public void setCargoSpaceName(String cargoSpaceName) {
this.cargoSpaceName = cargoSpaceName;
}
public ExtraField getExtraField() {
return extraField;
}
public void setExtraField(ExtraField extraField) {
this.extraField = extraField;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public void setStockCheckDetailId(String stockCheckDetailId)
{
this.stockCheckDetailId = stockCheckDetailId;
}
public String getStockCheckDetailId()
{
return stockCheckDetailId;
}
public void setStockCheckGuid(String stockCheckGuid)
{
this.stockCheckGuid = stockCheckGuid;
}
public String getStockCheckGuid()
{
return stockCheckGuid;
}
public void setStockCheckId(String stockCheckId)
{
this.stockCheckId = stockCheckId;
}
public String getStockCheckId()
{
return stockCheckId;
}
public void setLotNo(String lotNo)
{
this.lotNo = lotNo;
}
public String getLotNo()
{
return lotNo;
}
public void setProductGuid(String productGuid)
{
this.productGuid = productGuid;
}
public String getProductGuid()
{
return productGuid;
}
public void setProductId(String productId)
{
this.productId = productId;
}
public String getProductId()
{
return productId;
}
public void setQuantity(String quantity)
{
this.quantity = quantity;
}
public String getQuantity()
{
return quantity;
}
public void setQuantityX(String quantityX)
{
this.quantityX = quantityX;
}
public String getQuantityX()
{
return quantityX;
}
public void setQuantityJ(String quantityJ)
{
this.quantityJ = quantityJ;
}
public String getQuantityJ()
{
return quantityJ;
}
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
{
return price;
}
public void setCargoNo(String cargoNo)
{
this.cargoNo = cargoNo;
}
public String getCargoNo()
{
return cargoNo;
}
public void setAssignNum(String assignNum)
{
this.assignNum = assignNum;
}
public String getAssignNum()
{
return assignNum;
}
public void setAssignNumX(String assignNumX)
{
this.assignNumX = assignNumX;
}
public String getAssignNumX()
{
return assignNumX;
}
public void setAssignNumJ(String assignNumJ)
{
this.assignNumJ = assignNumJ;
}
public String getAssignNumJ()
{
return assignNumJ;
}
public void setPrintDate(String printDate)
{
this.printDate = printDate;
}
public String getPrintDate()
{
return printDate;
}
public void setStockStatus(String stockStatus)
{
this.stockStatus = stockStatus;
}
public String getStockStatus()
{
return stockStatus;
}
public void setSupplierId(String supplierId)
{
this.supplierId = supplierId;
}
public String getSupplierId()
{
return supplierId;
}
public void setCustomerId(String customerId)
{
this.customerId = customerId;
}
public String getCustomerId()
{
return customerId;
}
public void setUnit(String unit)
{
this.unit = unit;
}
public String getUnit()
{
return unit;
}
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
{
return spec;
}
public void setScanNum(String scanNum)
{
this.scanNum = scanNum;
}
public String getScanNum()
{
return scanNum;
}
public void setScanNumX(String scanNumX)
{
this.scanNumX = scanNumX;
}
public String getScanNumX()
{
return scanNumX;
}
public void setScanNumJ(String scanNumJ)
{
this.scanNumJ = scanNumJ;
}
public String getScanNumJ()
{
return scanNumJ;
}
public void setSpare1(String spare1)
{
this.spare1 = spare1;
}
public String getSpare1()
{
return spare1;
}
public void setSpare2(String spare2)
{
this.spare2 = spare2;
}
public String getSpare2()
{
return spare2;
}
public void setSpare3(String spare3)
{
this.spare3 = spare3;
}
public String getSpare3()
{
return spare3;
}
public void setSpare4(String spare4)
{
this.spare4 = spare4;
}
public String getSpare4()
{
return spare4;
}
public void setSpare5(String spare5)
{
this.spare5 = spare5;
}
public String getSpare5()
{
return spare5;
}
public void setSpare6(String spare6)
{
this.spare6 = spare6;
}
public String getSpare6()
{
return spare6;
}
public String getCargoSpaceId()
{
return cargoSpaceId;
}
public void setCargoSpaceId(String cargoSpaceId)
{
this.cargoSpaceId = cargoSpaceId;
}
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public String getSpare9() {
return spare9;
}
public void setSpare9(String spare9) {
this.spare9 = spare9;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("stockCheckDetailId", getStockCheckDetailId())
.append("stockCheckGuid", getStockCheckGuid())
.append("stockCheckId", getStockCheckId())
.append("lotNo", getLotNo())
.append("productGuid", getProductGuid())
.append("productId", getProductId())
.append("quantity", getQuantity())
.append("quantityX", getQuantityX())
.append("quantityJ", getQuantityJ())
.append("price", getPrice())
.append("cargoNo", getCargoNo())
.append("remark", getRemark())
.append("assignNum", getAssignNum())
.append("assignNumX", getAssignNumX())
.append("assignNumJ", getAssignNumJ())
.append("printDate", getPrintDate())
.append("stockStatus", getStockStatus())
.append("supplierId", getSupplierId())
.append("customerId", getCustomerId())
.append("unit", getUnit())
.append("spec", getSpec())
.append("scanNum", getScanNum())
.append("scanNumX", getScanNumX())
.append("scanNumJ", getScanNumJ())
.append("spare1", getSpare1())
.append("spare2", getSpare2())
.append("spare3", getSpare3())
.append("spare4", getSpare4())
.append("spare5", getSpare5())
.append("spare6", getSpare6())
.toString();
}
}

View File

@@ -433,13 +433,12 @@ public class PdaServiceImp implements PdaService {
@Override
@Transactional(rollbackFor = Exception.class)
//@Transactional(rollbackFor = Exception.class)
public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCodeMakeSure.getTrayCode());
if (mydoJob == null) {
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(mydoJob.getWarehouseId());
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMaterials();
if (CollUtil.isNotEmpty(mydoJobDetailList)) {
boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity()));
@@ -457,28 +456,18 @@ public class PdaServiceImp implements PdaService {
checkCommitRecord.setSpare3(mydoJobDetail.getOutQuantity());
checkCommitRecordService.insertCheckCommitRecord(checkCommitRecord);
mydoJobDetail.setSpare3("1");
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
if ("2".equals(basWarehouse.getWarehouseType())){
updateTagTaskStatus(mydoJobDetail);
}
}
}
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId());
if (mydoJobDetails.stream().allMatch(x -> "1".equals(x.getSpare3()))) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
pdaMapper.checkMakeSure(map);
iToWcsService.pushInMydoJob();
String result = map.get("v_result").toString();
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
} else {
throw new RuntimeException(map.get("v_resultmsg").toString());
}
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
pdaMapper.checkMakeSure(map);
//iToWcsService.pushInMydoJob();
String result = map.get("v_result").toString();
if ("10".equals(result)) {
return AjaxResult.success(map.get("v_resultmsg").toString());
} else {
throw new RuntimeException(map.get("v_resultmsg").toString());
}
return AjaxResult.success();
}
/**

View File

@@ -197,7 +197,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from bas_cargo_space bcs
left join bas_warehouse bw on bw.warehouse_id = bcs.warehouse_id
left join bas_roadway br on br.roadway_id = bcs.roadway_id
${params.dataScope}
left join bas_stock bs on bs.cargo_space_id = bcs.cargo_space_id
left join bas_product bp on bp.product_id = bs.product_id
where br.out_locked = 'N'
<if test="warehouseId != null and warehouseId != ''"> and bcs.warehouse_id = #{warehouseId}</if>
<if test="roadwayId != null and roadwayId != ''"> and bcs.roadway_id = #{roadwayId}</if>

View File

@@ -40,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare8" column="spare8" />
<result property="spare9" column="spare9" />
<result property="productName" column="product_name" />
<result property="orderId" column="order_id" />
</resultMap>
@@ -52,7 +53,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bcs.cargo_space_name,
csd.spare7,
csd.spare8,
csd.spare9
csd.spare9,
csd.order_id
from check_stockin_detail csd
left join bas_product bp on csd.product_id = bp.product_id
left join bas_cargo_space bcs on csd.cargo_space_id = bcs.cargo_space_id
@@ -134,6 +136,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare7 != null">spare7,</if>
<if test="spare8 != null">spare8,</if>
<if test="spare9 != null">spare9,</if>
<if test="orderId != null">order_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="stockCheckDetailId != null">#{stockCheckDetailId},</if>
@@ -170,6 +173,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare7 != null">#{spare7},</if>
<if test="spare8 != null">#{spare8},</if>
<if test="spare9 != null">#{spare9},</if>
<if test="orderId != null">#{orderId},</if>
</trim>
</insert>
<insert id="insertCheckStockinDetailHistory">

View File

@@ -86,6 +86,8 @@
<el-table-column label="品号" align="center" prop="productId" />
<el-table-column label="NC号" align="center" prop="spare9" />
<el-table-column label="品名" align="center" prop="productName" />
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="品号描述" align="center" prop="price" />
<el-table-column label="英文描述" align="center" prop="cargoNo" />
@@ -199,6 +201,8 @@
<el-table-column label="品号" align="center" prop="productId" />
<el-table-column label="NC号" align="center" prop="spare9" />
<el-table-column label="品名" align="center" prop="productName" />
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="品号描述" align="center" prop="price" />
<el-table-column label="英文描述" align="center" prop="cargoNo" />
@@ -462,7 +466,7 @@
spare8: item.grossWeight,
spare9: item.distribution,
unit: item.model,
// orderId: item.orderId
orderId: item.orderId
}))
);
this.materialDialogByProduct = false;

View File

@@ -180,6 +180,7 @@
<el-table-column label="任务ID" align="left" prop="jobId" />
<el-table-column label="单据ID" align="left" prop="inOrOutId" />
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" />
<el-table-column label="库存ID" align="left" prop="stockId" />
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="机型" align="left" prop="unit"/><!--机型-->

View File

@@ -235,20 +235,9 @@ export default {
exitOptions: [],
// 所有出口数据(按仓库ID分组)
allExitOptions: {
'02': [
{ exitId: "G1004", exitName: 'G1004' },
{ exitId: 'G1010', exitName: 'G1010' },
{ exitId: 'fluent1', exitName: 'fluent1' },
{ exitId: 'fluent2', exitName: 'fluent2' },
],
'13': [
{ exitId: 'G2001', exitName: 'G2001' },
{ exitId: 'G3001', exitName: 'G3001' },
{ exitId: 'G3010', exitName: 'G3010' },
{ exitId: 'G4001', exitName: 'G4001' },
{ exitId: 'G4010', exitName: 'G4010' },
{ exitId: 'G5001', exitName: 'G5001' },
{ exitId: 'G5010', exitName: 'G5010' },
'01': [
{ exitId: "L2009", exitName: 'L2009' },
{ exitId: 'L2010', exitName: 'L2010' },
]
},
// 当前审核的单据