This commit is contained in:
tongfei
2023-11-30 12:05:43 +08:00
4 changed files with 124 additions and 17 deletions

View File

@@ -48,8 +48,11 @@ namespace WMS.Web.Api.Controllers
[Route("hj")]
public async Task<string> TestHJ()
{
//var list = await GetList();
//var c = await _erpService.BillQueryForSubStock(null,null);
var bc2 = await _erpService.BillQueryForDeliveryNoticeOutStock(new List<string>() { "FHTZD8022232" }, DateTime.Now.AddDays(-10));
//var bc2 = await _erpService.BillQueryForDeliveryNoticeOutStock(new List<string>() { "FHTZD8022232" }, DateTime.Now.AddDays(-10));
//var bc = await _erpService.BillQueryForTransferOutOutStock(null, DateTime.Now.AddDays(-10));
//var b=await _erpService.BillQueryForAssembledAppOutStock_Assembly(null, DateTime.Now.AddDays(-1));
// var b2 = await _erpService.BillQueryForAssembledAppOutStock_Dassembly(null, DateTime.Now.AddDays(-10));
@@ -59,7 +62,7 @@ namespace WMS.Web.Api.Controllers
// t.Details[0].Remark = "sdf";
// t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb";
// var s = await _outStockTaskRepositories.Edit(t);
//await _boxService.Sync();
//await _boxService.Sync(list);
//var res = await this._erpService.BillQueryForAssembledAppOutStock_Dassembly(null,DateTime.Now.AddDays(-300));
//var result= await this._erpService.BillQueryForPurchaseInStock();
//var result = await this._erpService.BillQueryForOrg();
@@ -91,7 +94,7 @@ namespace WMS.Web.Api.Controllers
var result = await this._erpService.BillQueryForSupplier();
var tt= JsonConvert.SerializeObject(result.Data);
var tt = JsonConvert.SerializeObject(result.Data);
//var tttt = new List<string>() { "ABCD14200999" };
//var boxInventorys = await _boxInventoryRepositories.Get(142);
@@ -127,27 +130,105 @@ namespace WMS.Web.Api.Controllers
}
private void GetList()
/// <summary>
/// 根据物料Id获取物料编码
/// </summary>
/// <param name="materialIds"></param>
/// <returns></returns>
[HttpGet]
[Route("GetMaterial")]
public async Task<List<(int Id, string Number, string name)>> GetMaterial([FromQuery] List<int> materialIds)
{
List<OpsBoxResponse> list = new List<OpsBoxResponse>();
for (int i = 0; i < 200; i++)
List<(int Id, string Number, string name)> mList = new List<(int Id, string Number, string name)>();
var materials_result = await _erpService.BillQueryForMaterial();
var materials = materials_result.Data.ToList();
foreach (var mid in materialIds)
{
var m = materials.FirstOrDefault(f => f.MaterialId == mid);
mList.Add((m.MaterialId, m.MaterialNumber, m.MaterialName));
}
return mList;
}
/// <summary>
/// 根据物料编码获取物料Id
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
[HttpGet]
[Route("GetMaterialId/{number}")]
public async Task<(int Id, string Number, string name)> GetMaterialId([FromRoute] string number)
{
List<(int Id, string Number, string name)> mList = new List<(int Id, string Number, string name)>();
var materials_result = await _erpService.BillQueryForMaterial();
var materials = materials_result.Data.ToList();
var m = materials.FirstOrDefault(f => f.MaterialNumber.Contains(number));
return (m.MaterialId, m.MaterialNumber, m.MaterialName);
}
/// <summary>
/// 自动生成箱信息
/// </summary>
/// <param name="str"></param>
/// <param name="number"></param>
/// <returns></returns>
[HttpGet]
[Route("SCBox/{str}/{number}")]
public async Task<Result> SCBox([FromRoute] string str, [FromRoute] int number)
{
var list = await GetList(str, number);
await _boxService.Sync(list);
return Result.ReSuccess();
}
private async Task<List<OpsBoxResponse>> GetList(string str, int number)
{
var materials_result = await _erpService.BillQueryForMaterial();
var materials = materials_result.Data.ToList();
List<OpsBoxResponse> list = new List<OpsBoxResponse>();
for (int i = 0; i < number; i++)
{
List<OpsBoxDetailsResponse> Details = new List<OpsBoxDetailsResponse>();
for (int j = 0; j <= 3; j++)
{
var ran = (new Random()).Next(5, 10);
List<OpsSerialNumbersResponse> SerialNumbers = new List<OpsSerialNumbersResponse>();
for (int g = 0; g < ran; g++)
{
OpsSerialNumbersResponse or = new OpsSerialNumbersResponse()
{
SerialNumber = await GetStr(),
BarCereateUser = "01",
BarCreateTime = DateTime.Now
};
SerialNumbers.Add(or);
}
var mi = (new Random()).Next(1000, 20000);
OpsBoxDetailsResponse d = new OpsBoxDetailsResponse()
{
MaterialId = materials[mi].MaterialId,
Qty = ran,
SerialNumbers = SerialNumbers
};
Details.Add(d);
}
OpsBoxResponse response = new OpsBoxResponse()
{
BoxBillNo = "Gys" + (500 + i).ToString(),
BoxBillNo = str + (500 + i).ToString(),
OpsBoxId = 100 + i,
CompleteCartonTime = DateTime.Now,
CompleteCartonUser = "02",
CreateTime = DateTime.Now,
CreateUser = "01",
OrgId = 0,
SupplierId = 10897
SupplierId = 10897,
Details = Details
};
list.Add(response);
}
return list;
}
private string GetStr()
private Task<string> GetStr()
{
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var Charsarr = new char[11];
@@ -158,7 +239,7 @@ namespace WMS.Web.Api.Controllers
Charsarr[i] = characters[random.Next(characters.Length)];
}
return new String(Charsarr);
return Task.FromResult(new String(Charsarr));
}
/// <summary>

View File

@@ -550,6 +550,28 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.TestController.GetMaterial(System.Collections.Generic.List{System.Int32})">
<summary>
根据物料Id获取物料编码
</summary>
<param name="materialIds"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.TestController.GetMaterialId(System.String)">
<summary>
根据物料编码获取物料Id
</summary>
<param name="number"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.TestController.SCBox(System.String,System.Int32)">
<summary>
自动生成箱信息
</summary>
<param name="str"></param>
<param name="number"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.TestController.InStock">
<summary>
测试:同步

View File

@@ -3,14 +3,15 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Entitys;
namespace WMS.Web.Domain.IService
{
public interface IBoxService
public interface IBoxService
{
// 同步老Ops箱信息
Task<Result> Sync();
Task<Result> Sync(List<OpsBoxResponse> list = null);
}
}

View File

@@ -45,12 +45,15 @@ namespace WMS.Web.Domain.Services
_serialNumbersRepositories = serialNumbersRepositories;
}
public async Task<Result> Sync()
public async Task<Result> Sync(List<OpsBoxResponse> list)
{
DateTime begin = await _erpOpsSyncDateRepositories.Get(ErpOpsSyncType.Ops);
begin= begin.AddYears(-1);
OpsBoxRequest request = new OpsBoxRequest(begin, DateTime.Now);
var list = await _opsService.GetBox(request);
if (list == null || list.Count() <= 0)
{
DateTime begin = await _erpOpsSyncDateRepositories.Get(ErpOpsSyncType.Ops);
begin = begin.AddYears(-1);
OpsBoxRequest request = new OpsBoxRequest(begin, DateTime.Now);
list = await _opsService.GetBox(request);
}
var nos = list.Select(s => s.BoxBillNo).ToList();
var old_nos = await _boxRepositories.GetByNos(nos);
foreach (var s in old_nos)