Files
2026-09-02 16:31:50 +08:00

235 lines
18 KiB
C#

using JSMachine.WMS.App.Dto;
using JSMachine.WMS.App.IService;
using JSMachine.WMS.App.ServiceImpl;
using JSMachine.WMS.Infrastructure.Helper;
using JSMachine.WMS.RPC.ErpRPC.Dto.In.XRBusinessResult;
using JSMachine.WMS.RPC.ErpRPC.Dto.Out;
using JSMachine.WMS.RPC.ErpRPC.Dto.Out.XRBusinessResult;
using JSMachine.WMS.RPC.RcsRPC.Dto.In;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Org.BouncyCastle.Asn1.Mozilla;
using System.Net;
namespace JSMachine.WMS.WebHost.Controllers
{
/// <summary>
/// 测试用控制器(模拟erp等服务)
/// </summary>
public class TestController : ControllerBase
{
private IRcsTaskService _rcsTaskService;
public TestController(IRcsTaskService rcsTaskService)
{
_rcsTaskService = rcsTaskService;
}
private static List<MateriaInfoDto> MateriaInfos = new()
{
new MateriaInfoDto{ BarCode="HZYD23053001730001",MateriaNum="600",MateriaCode="20230206003782",MateriaBatch="ZYD23053001732024-10-231",OrderNo="ZYD2305300173_0",MateriaName="220847达利250mlx12包x3盒花生牛奶条型原味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23053001730002",MateriaNum="600",MateriaCode="20230206003782",MateriaBatch="ZYD23053001732024-10-231",OrderNo="ZYD2305300173_0",MateriaName="220847达利250mlx12包x3盒花生牛奶条型原味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23053001730003",MateriaNum="600",MateriaCode="20230206003782",MateriaBatch="ZYD23053001732024-10-231",OrderNo="ZYD2305300173_0",MateriaName="220847达利250mlx12包x3盒花生牛奶条型原味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23053001730004",MateriaNum="600",MateriaCode="20230206003782",MateriaBatch="ZYD23053001732024-10-231",OrderNo="ZYD2305300173_0",MateriaName="220847达利250mlx12包x3盒花生牛奶条型原味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23053001730005",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD23060700682024-10-231",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680001",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680002",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680003",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680004",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680005",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680006",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680007",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23060700680008",MateriaNum="600",MateriaCode="20230206003783",MateriaBatch="ZYD25063002332025-07-041",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23070700690001",MateriaNum="600",MateriaCode="20230206003784",MateriaBatch="ZYD25070900902025-07-142",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23070700690002",MateriaNum="600",MateriaCode="20230206003784",MateriaBatch="ZYD25070900902025-07-142",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23070700690003",MateriaNum="600",MateriaCode="20230206003784",MateriaBatch="ZYD25070900902025-07-142",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23070700690004",MateriaNum="600",MateriaCode="20230206003784",MateriaBatch="ZYD25070900902025-07-142",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23070700690005",MateriaNum="600",MateriaCode="20230206003784",MateriaBatch="ZYD25070900902025-07-142",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23070700690006",MateriaNum="600",MateriaCode="20230206003784",MateriaBatch="ZYD25070900902025-07-142",OrderNo="ZYD2306070068_0",MateriaName="220848达利250mlx12包x3盒花生牛奶条型核桃味水印箱(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23080800760001",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25040100142025-04-081",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23080800760002",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25040100142025-04-081",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23080800760003",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25040100142025-04-081",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23080800760004",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25040100142025-04-081",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23080800760005",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25040100142025-04-081",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23090800760001",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25010800682025-01-091",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23090800760002",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25010800682025-01-091",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23090800760003",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25010800682025-01-091",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23090800760004",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25010800682025-01-091",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23090800760005",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25010800682025-01-091",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HZYD23090800760006",MateriaNum="1000",MateriaCode="20230206003780",MateriaBatch="ZYD25010800682025-01-091",OrderNo="ZYD2306080076_0",MateriaName="220846达利250mlx12包花生牛奶条型原味彩盒(平顶)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_381_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_367_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_366_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_365_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_364_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_363_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_383_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_349_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_348_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HZYD25102702680174",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-171",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HZYD25102702680178",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-171",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HZYD25102702680173",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-171",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HZYD25102702680177",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-171",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
new MateriaInfoDto{ BarCode="HLZYD2510270268_0_362_0000",MateriaNum="240",MateriaCode="20241026017105",MateriaBatch="ZYD25102702682025-11-20",OrderNo="ZYD2510270268_0",MateriaName="241152 伊利康美苗条砖臻浓金装高钙250mlx10包x5提储运外箱(去奥运logo版)"},
};
/// <summary>
/// 模拟erp提供查询物料信息服务
/// </summary>
/// <param name="barcodeInfo"></param>
/// <returns></returns>
[HttpPost]
[Route("wms_erp_interface/select/materiaInformation")]
public async Task<XRApiResult<XRResultDto>> QueryMateriaInfor([FromBody] dynamic barcodeInfo)
{
return new XRApiResult<XRResultDto>
{
id = Guid.NewGuid().ToString(),
jsonrpc = "",
result = new XRResultDto
{
status = 200,
data = MateriaInfos.FirstOrDefault(p => p.BarCode == barcodeInfo["barCode"].ToString()),
success = true
}.ToJson()
};
}
/// <summary>
/// 模拟erp提供入库上传接口
/// </summary>
/// <param name="barcodeInfo"></param>
/// <returns></returns>
[HttpPost]
[Route("wms_erp_interface/api/wms/produce/in")]
public async Task<XRApiResult<XRResultDto>> UploadStockIn([FromBody] dynamic barcodeInfo)
{
return new XRApiResult<XRResultDto>
{
id = Guid.NewGuid().ToString(),
jsonrpc = "",
result = new XRResultDto
{
status = 200,
success = true
}.ToJson()
};
}
/// <summary>
/// 模拟erp提供入库上传接口
/// </summary>
/// <param name="barcodeInfo"></param>
/// <returns></returns>
[HttpPost]
[Route("wms_erp_interface/wms/sale/out")]
public async Task<XRApiResult<XRResultDto>> UploadStockOut([FromBody] dynamic barcodeInfo)
{
return new XRApiResult<XRResultDto>
{
id = Guid.NewGuid().ToString(),
jsonrpc = "",
result = new XRResultDto
{
status = 200,
success = true
}.ToJson()
};
}
/// <summary>
/// 模拟erp提供生产退库上传接口
/// </summary>
/// <param name="barcodeInfo"></param>
/// <returns></returns>
[HttpPost]
[Route("wms_erp_interface/erp/produce/out")]
public async Task<XRResultDto> UploadProducitonOut([FromBody] dynamic barcodeInfo)
{
return new XRResultDto
{
status = 200,
success = true
};
}
/// <summary>
/// 模拟出库
/// </summary>
/// <param name="stockOutParam"></param>
/// <returns></returns>
[HttpPost]
[Route("api/Test/StockOut")]
public async Task<ApiResult<bool>> StockOut([FromBody] StockOutParam stockOutParam)
{
string url = "http://localhost:8078/api/erp/out";
string jsonParam = JsonConvert.SerializeObject(stockOutParam);
string resJson = await HttpRequestHelper.RequestByJson(url, RestSharp.Method.POST, jsonParam);
if (string.IsNullOrEmpty(resJson))
{
return new ApiResult<bool> { ResultCode = "500", Data = false };
}
XRResultDto erpRet = JsonConvert.DeserializeObject<XRResultDto>(resJson);
return new ApiResult<bool> { Data = erpRet.success, ResultCode = erpRet.success ? "200" : "500", ErrorMsg = erpRet.errors };
}
/// <summary>
/// wms上传agv任务
/// </summary>
/// <param name="taskParam"></param>
/// <returns></returns>
[HttpPost]
[Route("ics/taskOrder/addTask")]
public async Task<JSMachine.WMS.RPC.RcsRPC.Dto.RcsApiResult> UploadRcsTask([FromBody] CreateTaskParam taskParam)
{
RcsTaskDto rcsTask = new()
{
TaskId = taskParam.orderId,
StartPositionCode = taskParam.taskOrderDetail.taskPath.Split(',', StringSplitOptions.RemoveEmptyEntries)[0],
EndPositionCode = taskParam.taskOrderDetail.taskPath.Split(',', StringSplitOptions.RemoveEmptyEntries)[1],
Status = 9,
UploadTime=DateTime.Now
};
bool bRet = await _rcsTaskService.Add(rcsTask);
return new JSMachine.WMS.RPC.RcsRPC.Dto.RcsApiResult { code = 1000 };
}
/// <summary>
/// 获取rcs任务列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("api/Test/GetRcsTaskLst")]
public async Task<ApiResult<List<RcsTaskDto>>> GetRcsTaskLst()
{
List<RcsTaskDto> rcsTasks = await _rcsTaskService.GetListByExpression(p =>
p.CreationTime > DateTime.Now.Date,
nameof(RcsTaskDto.CreationTime),
SqlSugar.OrderByType.Desc);
return new ApiResult<List<RcsTaskDto>>() { ResultCode = "200", Data = rcsTasks };
}
/// <summary>
/// 修改rcs任务信息
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("api/Test/UpdateRcsTask")]
public async Task<ApiResult<bool>> UpdateRcsTask([FromBody] RcsTaskDto rcsTask)
{
bool bRet = await _rcsTaskService.EditSingal(rcsTask);
return new ApiResult<bool>() { ResultCode = "200", Data = bRet };
}
}
}