From 8c8d5788ccd89f5c83b36f77495a54a0d8a92744 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 6 Dec 2023 11:23:46 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=A2=E6=88=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Domain/Entitys/SerialNumbers.cs | 10 +++++++++-
src/WMS.Web.Domain/Services/SerialNumberService.cs | 4 ++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
index 810dddd6..06fcc8e2 100644
--- a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
+++ b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
@@ -69,6 +69,11 @@ namespace WMS.Web.Domain.Entitys
///
[Column("InStockBillNo")]
public string InStockBillNo { get; set; }
+ ///
+ /// 收货客户
+ ///
+ [Column("CustomerId")]
+ public int CustomerId { get; set; } = 0;
///
/// 操作(绑定箱信息)
@@ -89,11 +94,14 @@ namespace WMS.Web.Domain.Entitys
/// 出库
///
/// 出库单号
- public void OutStock(string outStockBillNo, OutStockType type)
+ public void OutStock(string outStockBillNo, OutStockType type,int customerId)
{
this.BoxId = 0;
if (type == OutStockType.Sal)
+ {
this.OutStockBillNo = outStockBillNo;
+ this.CustomerId = customerId;
+ }
}
///
/// 入库
diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs
index c4662eb2..6e3be00c 100644
--- a/src/WMS.Web.Domain/Services/SerialNumberService.cs
+++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs
@@ -193,7 +193,7 @@ namespace WMS.Web.Domain.Services
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
if (outstockDetail == null) continue;
//修改序列号和箱绑定关系
- entity.OutStock(outStock.BillNo, outStock.Type);
+ entity.OutStock(outStock.BillNo, outStock.Type, outStock.ReceiptCustomerId);
//记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate()
@@ -321,7 +321,7 @@ namespace WMS.Web.Domain.Services
var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
var subStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, instockDetail.SubStockId);
//修改序列号和箱绑定关系
- entity.InStock(inStock.BillNo, inStock.Type);
+ entity.InStock(instockDetail.SourceBillNo, inStock.Type);
//记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate()
From 8389f6d809cc99dedd57fe1e2b2488a9b6f329b7 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 6 Dec 2023 11:39:11 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 25 +++++++++++++----
src/WMS.Web.Domain/Entitys/SerialNumbers.cs | 30 +++++++++++++++------
2 files changed, 42 insertions(+), 13 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index e8c249c3..2f607d68 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1566,14 +1566,29 @@
创建时间(老ops过来)
-
+
- 出库单号
+ 出库单对应销售订单号
-
+
+
+ 出库时间
+
+
+
- 入库单号/采购单号
+ 采购单号
+
+
+
+
+ 入库时间
+
+
+
+
+ 收货客户
@@ -1587,7 +1602,7 @@
解绑
-
+
出库
diff --git a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
index 06fcc8e2..3476677a 100644
--- a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
+++ b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
@@ -60,15 +60,25 @@ namespace WMS.Web.Domain.Entitys
[Column("CreateTime")]
public DateTime CreateTime { get; set; } = DateTime.Now;
///
- /// 出库单号
+ /// 出库单对应销售订单号
///
- [Column("OutStockBillNo")]
- public string OutStockBillNo { get; set; }
+ [Column("SalBillNo")]
+ public string SalBillNo { get; set; }
///
- /// 入库单号/采购单号
+ /// 出库时间
+ ///
+ [Column("OutStockTime")]
+ public DateTime? OutStockTime { get; set; }
+ ///
+ /// 采购单号
///
- [Column("InStockBillNo")]
- public string InStockBillNo { get; set; }
+ [Column("PurchaseBillNo")]
+ public string PurchaseBillNo { get; set; }
+ ///
+ /// 入库时间
+ ///
+ [Column("InStockTime")]
+ public DateTime? InStockTime { get; set; }
///
/// 收货客户
///
@@ -99,8 +109,9 @@ namespace WMS.Web.Domain.Entitys
this.BoxId = 0;
if (type == OutStockType.Sal)
{
- this.OutStockBillNo = outStockBillNo;
+ this.SalBillNo = outStockBillNo;
this.CustomerId = customerId;
+ this.OutStockTime = DateTime.Now;
}
}
///
@@ -110,7 +121,10 @@ namespace WMS.Web.Domain.Entitys
public void InStock(string inStockBillNo, InstockType type)
{
if (type == InstockType.Purchase)
- this.InStockBillNo = inStockBillNo;
+ {
+ this.PurchaseBillNo = inStockBillNo;
+ this.InStockTime = DateTime.Now;
+ }
}
}
}
From f43106a7842e70d53d12a004b1d5387d385f4105 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 6 Dec 2023 11:51:50 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AE=B1=E5=AD=90?=
=?UTF-8?q?=E5=AE=8C=E6=88=90=E8=A3=85=E7=AE=B1=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 7 ++++++-
src/WMS.Web.Domain/Entitys/SerialNumbers.cs | 11 +++++++++--
src/WMS.Web.Domain/Services/BoxService.cs | 2 +-
src/WMS.Web.Domain/Services/SerialNumberService.cs | 9 +++++----
4 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 2f607d68..4e6e7330 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1566,6 +1566,11 @@
创建时间(老ops过来)
+
+
+ 完成装箱时间
+
+
出库单对应销售订单号
@@ -1591,7 +1596,7 @@
收货客户
-
+
操作(绑定箱信息)
diff --git a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
index 3476677a..60711f1a 100644
--- a/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
+++ b/src/WMS.Web.Domain/Entitys/SerialNumbers.cs
@@ -15,7 +15,7 @@ namespace WMS.Web.Domain.Entitys
public class SerialNumbers : EntityBase
{
public SerialNumbers() { }
- public SerialNumbers(string serialNumber, int materialId, int boxId, int opsBoxId, string creator, DateTime? createTime)
+ public SerialNumbers(string serialNumber, int materialId, int boxId, int opsBoxId, string creator, DateTime? createTime,DateTime? completeCartonTime)
{
this.SerialNumber = serialNumber;
this.MaterialId = materialId;
@@ -23,6 +23,7 @@ namespace WMS.Web.Domain.Entitys
this.OpsBoxId = opsBoxId;
this.Creator = creator;
this.CreateTime = createTime == null ? DateTime.Now : (DateTime)createTime;
+ this.CompleteCartonTime = completeCartonTime;
}
///
/// 主键 订单编号
@@ -60,6 +61,11 @@ namespace WMS.Web.Domain.Entitys
[Column("CreateTime")]
public DateTime CreateTime { get; set; } = DateTime.Now;
///
+ /// 完成装箱时间
+ ///
+ [Column("CompleteCartonTime")]
+ public DateTime? CompleteCartonTime { get; set; }
+ ///
/// 出库单对应销售订单号
///
[Column("SalBillNo")]
@@ -89,9 +95,10 @@ namespace WMS.Web.Domain.Entitys
/// 操作(绑定箱信息)
///
/// 目标箱号
- public void Bind(int destBoxId)
+ public void Bind(int destBoxId,DateTime completeCartonTime)
{
this.BoxId = destBoxId;
+ this.CompleteCartonTime = completeCartonTime;
}
///
/// 解绑
diff --git a/src/WMS.Web.Domain/Services/BoxService.cs b/src/WMS.Web.Domain/Services/BoxService.cs
index 7eb5eb2f..6488100e 100644
--- a/src/WMS.Web.Domain/Services/BoxService.cs
+++ b/src/WMS.Web.Domain/Services/BoxService.cs
@@ -87,7 +87,7 @@ namespace WMS.Web.Domain.Services
.SelectMany(s => s.SerialNumbers)
.FirstOrDefault(s => s.SerialNumber.Equals(sn.SerialNumber));
//序列号
- SerialNumbers s = new SerialNumbers(sn.SerialNumber, detail.MaterialId, b.Id, b.OpsBoxId, opsSerial.BarCereateUser, opsSerial.BarCreateTime);
+ SerialNumbers s = new SerialNumbers(sn.SerialNumber, detail.MaterialId, b.Id, b.OpsBoxId, opsSerial.BarCereateUser, opsSerial.BarCreateTime, b.CompleteCartonTime);
sList.Add(s);
//序列号记录(序列号生成)
SerialNumberOperate so = new SerialNumberOperate(sn.SerialNumber, SerialNumberOperateType.Generate, detail.MaterialId, opsSerial.BarCereateUser, "", b.SupplierId, b.OrgId, null, opsSerial.BarCreateTime);
diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs
index 6e3be00c..59679a91 100644
--- a/src/WMS.Web.Domain/Services/SerialNumberService.cs
+++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs
@@ -60,10 +60,11 @@ namespace WMS.Web.Domain.Services
foreach (var entity in entityList)
{
var destBox = changeBoxRecords.FirstOrDefault(f => f.SerialNumbers.Contains(entity.SerialNumber));
- //修改序列号和箱绑定关系
- entity.Bind(destBox.DestBoxId);
-
var box = boxList.FirstOrDefault(f => f.Id == destBox.DestBoxId);
+ //修改序列号和箱绑定关系
+ entity.Bind(destBox.DestBoxId, box.CompleteCartonTime);
+
+
//记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate()
{
@@ -386,7 +387,7 @@ namespace WMS.Web.Domain.Services
//if (backRecord.Type == BackRecordType.InstockOff)
// entity.UnBind();
if (backRecord.Type == BackRecordType.OutstockOn)
- entity.Bind(detail.BoxId);
+ entity.Bind(detail.BoxId,box.CompleteCartonTime);
//记录序列号操作日志
From e0f8bd29cb4b373882db8fbba27a979100478c84 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 6 Dec 2023 14:05:00 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BA=8F=E5=88=97?=
=?UTF-8?q?=E5=8F=B7=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/SerialNumberController.cs | 50 ++++++++++++++++
src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 7 +++
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 60 +++++++++++++++++++
.../SerialNumbers/SerialNumbersResponse.cs | 57 ++++++++++++++++++
.../ISerialNumbersRepositories.cs | 3 +
src/WMS.Web.Domain/Values/ResultCodes.cs | 2 +-
.../SerialNumbersRepositories.cs | 37 ++++++++++++
7 files changed, 215 insertions(+), 1 deletion(-)
create mode 100644 src/WMS.Web.Api/Controllers/SerialNumberController.cs
create mode 100644 src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
diff --git a/src/WMS.Web.Api/Controllers/SerialNumberController.cs b/src/WMS.Web.Api/Controllers/SerialNumberController.cs
new file mode 100644
index 00000000..05d33b8a
--- /dev/null
+++ b/src/WMS.Web.Api/Controllers/SerialNumberController.cs
@@ -0,0 +1,50 @@
+using AutoMapper;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using WMS.Web.Core.Dto.SerialNumbers;
+using WMS.Web.Core.Internal.Results;
+using WMS.Web.Domain.Infrastructure;
+using WMS.Web.Domain.IService.Public;
+using WMS.Web.Domain.Values;
+
+namespace WMS.Web.Api.Controllers
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class SerialNumberController : ControllerBase
+ {
+ private readonly IMapper _mapper;
+ private readonly ILoginService _loginService;
+ private readonly ISerialNumbersRepositories _serialNumbersRepositories;
+ public SerialNumberController(IMapper mapper, ILoginService loginService, ISerialNumbersRepositories serialNumbersRepositories)
+ {
+ _mapper = mapper;
+ _loginService = loginService;
+ _serialNumbersRepositories = serialNumbersRepositories;
+ }
+
+ ///
+ /// 获取序列号信息
+ ///
+ /// 序列号
+ ///
+ [HttpGet]
+ [Route("Get/{serialNumber}")]
+ public async Task> Get([FromRoute] string serialNumber)
+ {
+ //var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
+ //if (loginInfo == null || loginInfo.UserInfo == null)
+ // return Result.ReFailure(ResultCodes.Token_Invalid_Error);
+ if (string.IsNullOrEmpty(serialNumber))
+ return Result.ReFailure(ResultCodes.SerialNumbersNoData);
+
+ var serial = await _serialNumbersRepositories.Get(serialNumber);
+ if (serial == null)return Result.ReFailure(ResultCodes.SerialNumbersNoData);
+ return Result.ReSuccess(serial);
+ }
+ }
+}
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
index 18297c0d..9b767d07 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
@@ -430,6 +430,13 @@
+
+
+ 获取序列号信息
+
+ 序列号
+
+
系统配置
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 33b3daaa..7e18e7bc 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -4241,6 +4241,66 @@
每页条数 不传默认每页10 条
+
+
+ 序列号信息
+
+
+
+
+ 序列号
+
+
+
+
+ 物料名称
+
+
+
+
+ 物料编码
+
+
+
+
+ 物料规格型号
+
+
+
+
+ 完成装箱时间
+
+
+
+
+ 出库单对应销售订单号
+
+
+
+
+ 出库时间
+
+
+
+
+ 生产单号
+
+
+
+
+ 采购单号
+
+
+
+
+ 入库时间
+
+
+
+
+ 收货客户
+
+
ID请求对象
diff --git a/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
new file mode 100644
index 00000000..31e3044f
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersResponse.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.SerialNumbers
+{
+ ///
+ /// 序列号信息
+ ///
+ public class SerialNumbersResponse
+ {
+ ///
+ /// 序列号
+ ///
+ public string SerialNumber { get; set; }
+ ///
+ /// 物料名称
+ ///
+ public string MaterialName { get; set; }
+ ///
+ /// 物料编码
+ ///
+ public string MaterialNumber { get; set; }
+ ///
+ /// 物料规格型号
+ ///
+ public string Specifications { get; set; }
+ ///
+ /// 完成装箱时间
+ ///
+ public DateTime? CompleteCartonTime { get; set; }
+ ///
+ /// 出库单对应销售订单号
+ ///
+ public string SalBillNo { get; set; }
+ ///
+ /// 出库时间
+ ///
+ public string OutStockTime { get; set; }
+ ///
+ /// 生产单号
+ ///
+ public string ProduceBillNo { get; set; }
+ ///
+ /// 采购单号
+ ///
+ public string PurchaseBillNo { get; set; }
+ ///
+ /// 入库时间
+ ///
+ public string InStockTime { get; set; }
+ ///
+ /// 收货客户
+ ///
+ public string Customer { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index 42ac023b..d9e44233 100644
--- a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
+using WMS.Web.Core.Dto.SerialNumbers;
using WMS.Web.Domain.Entitys;
namespace WMS.Web.Domain.Infrastructure
@@ -21,6 +22,8 @@ namespace WMS.Web.Domain.Infrastructure
Task AddRange(List entitys, bool isTransaction = true);
//根据序列号模糊搜索信息
Task GetSerialNumber(string serialNumber);
+ //根据序列号搜索信息
+ Task Get(string serialNumber);
/// 查询实体集合
Task> GetEntityList(List serialNumbers);
/// 根据箱Id查询集合
diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs
index e06cb916..2213e828 100644
--- a/src/WMS.Web.Domain/Values/ResultCodes.cs
+++ b/src/WMS.Web.Domain/Values/ResultCodes.cs
@@ -66,6 +66,6 @@ namespace WMS.Web.Domain.Values
public static ValueTuple InventoryInOutDetailsWriteError = (800014, "写入物料收发明细失败!");
public static ValueTuple InventoryDetailsWriteError = (800014, "写入即时库存明细失败!");
-
+ public static ValueTuple SerialNumbersNoData = (610000, "序列号不存在");
}
}
diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
index 2d169fdc..da0a01e4 100644
--- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
+using WMS.Web.Core.Dto.SerialNumbers;
using WMS.Web.Core.Help;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
@@ -91,6 +92,42 @@ namespace WMS.Web.Repositories
}
return true;
}
+ ///
+ /// 根据序列号搜索信息
+ ///
+ ///
+ ///
+ public async Task Get(string serialNumber)
+ {
+ var materials_result = await _erpService.BillQueryForMaterial();
+ if (!materials_result.IsSuccess)
+ return null;
+ var materials = materials_result.Data.ToList();
+
+ var customer_result = await _erpService.BillQueryForCustomer();
+ if (!customer_result.IsSuccess)
+ return null;
+ var customers = customer_result.Data.ToList();
+
+ var s = await _context.SerialNumbers
+ .FirstOrDefaultAsync(f => serialNumber.Equals(f.SerialNumber));
+ if (s == null) return null;
+ SerialNumbersResponse respone = new SerialNumbersResponse()
+ {
+ MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId),
+ MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId),
+ Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId),
+ CompleteCartonTime = s.CompleteCartonTime,
+ InStockTime = s.InStockTime.DateToStringSeconds(),
+ OutStockTime = s.OutStockTime.DateToStringSeconds(),
+ PurchaseBillNo = s.PurchaseBillNo,
+ SalBillNo = s.SalBillNo,
+ Customer = _erpBasicDataExtendService.GetCustomerName(customers, s.CustomerId),
+ SerialNumber = s.SerialNumber
+ };
+ return respone;
+ }
+
///
/// 根据序列号查询
///