diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Inventories/BalanceController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Inventories/BalanceController.cs
index 9adb5c110..4c5488710 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Inventories/BalanceController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Inventories/BalanceController.cs
@@ -5,6 +5,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
using Win_in.Sfs.Basedata.Application.Contracts;
@@ -29,6 +31,8 @@ public class BalanceController : AbpController
private readonly ILocationAppService _locationAppService;
+ private readonly IExpectOutAppService _expectOutAppService;
+
///
///
///
@@ -38,10 +42,11 @@ public class BalanceController : AbpController
public BalanceController(
IBalanceAppService balanceAppService,
IItemBasicAppService itemBasicAppService,
- ILocationAppService locationAppService)
+ ILocationAppService locationAppService, IExpectOutAppService expectOutAppService)
{
this._balanceAppService = balanceAppService;
this._locationAppService = locationAppService;
+ _expectOutAppService = expectOutAppService;
this._itemBasicAppService = itemBasicAppService;
}
@@ -426,6 +431,56 @@ public class BalanceController : AbpController
return balanceDTOs;
}
+ ///
+ /// 查询库存余额 根据 物品 库位 库位类型 库存状态 批次 并且没有被预计出 占用
+ ///
+ ///
+ ///
+ [HttpPost("by-balances-request-many-parameter-not-in-expect-out")]
+ public async Task> GetListByLocationTypeAndInventoryStatusAndNotExpectOutAsync(
+ BalanceListByIssueInputByInventoryStatusAndLocationType listInput)
+ {
+ var expectOut = await _expectOutAppService.GetListByPackingCodeAsync(listInput.packingCode);
+
+ if (expectOut != null && expectOut.Any())
+ {
+ throw new UserFriendlyException($"箱码为 {listInput.packingCode} 已被任务{expectOut[0].JobNumber}使用");
+ }
+
+ var input = new SfsInventoryRequestInputBase()
+ {
+ MaxResultCount = listInput.pageSize,
+ SkipCount = (listInput.pageIndex - 1) * listInput.pageSize,
+ Sorting = listInput.sortBy,
+ Condition = new Condition { Filters = new List() }
+ };
+ if (!string.IsNullOrWhiteSpace(listInput.itemCode))
+ input.Condition.Filters.Add(new Filter("ItemCode", listInput.itemCode));
+ if (!string.IsNullOrWhiteSpace(listInput.locationCode))
+ input.Condition.Filters.Add(new Filter("LocationCode", listInput.locationCode));
+ if (!string.IsNullOrWhiteSpace(listInput.lot)) input.Condition.Filters.Add(new Filter("Lot", listInput.lot));
+ if (!string.IsNullOrWhiteSpace(listInput.packingCode))
+ input.Condition.Filters.Add(new Filter("PackingCode", listInput.packingCode));
+ if (!string.IsNullOrWhiteSpace(listInput.containerCode))
+ input.Condition.Filters.Add(new Filter("ContainerCode", listInput.containerCode));
+
+ if (listInput.locationTypes != null && listInput.locationTypes.Any())
+ {
+ var locationCodes = (await this._locationAppService.GetListByTypesAsync(listInput.locationTypes).ConfigureAwait(false))
+ .Select(t => t.Code).ToList();
+
+ if (locationCodes.Any())
+ input.Condition.Filters.Add(
+ new Filter("LocationCode", JsonConvert.SerializeObject(locationCodes), "In"));
+ }
+
+ if (listInput.inventoryStatuses != null && listInput.inventoryStatuses.Any())
+ input.Condition.Filters.Add(
+ new Filter("Status", JsonConvert.SerializeObject(listInput.inventoryStatuses), "In"));
+
+ return await this._balanceAppService.GetPagedListByFilterAsync(input, false).ConfigureAwait(false);
+ }
+
/*
///
/// 查询库余额
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs
index 7ed1b4d54..6c6a13d7b 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs
@@ -75,7 +75,7 @@ public class CountJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -133,7 +133,7 @@ public class CountJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
- var status = new List() {EnumJobStatus.Open.ToString(),EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var requestInput = new SfsJobRequestInputBase
@@ -165,7 +165,7 @@ public class CountJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/DeliverJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/DeliverJobController.cs
index 0b93cc8db..de127336d 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/DeliverJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/DeliverJobController.cs
@@ -75,7 +75,7 @@ public class DeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
_ = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -132,7 +132,7 @@ public class DeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/InspectJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/InspectJobController.cs
index aabb49b1c..c74c9ae7c 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/InspectJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/InspectJobController.cs
@@ -64,7 +64,7 @@ public class InspectJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -108,7 +108,7 @@ public class InspectJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs
index c6763da04..2efe34c7d 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs
@@ -65,7 +65,7 @@ public class IssueJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
- var status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -143,7 +143,7 @@ public class IssueJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
- var status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var requestInput = new SfsJobRequestInputBase
@@ -175,7 +175,7 @@ public class IssueJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JisDeliverJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JisDeliverJobController.cs
index 420840bed..0b95984ee 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JisDeliverJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JisDeliverJobController.cs
@@ -74,7 +74,7 @@ public class JisDeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -106,7 +106,7 @@ public class JisDeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs
index 4c88f25d3..ead6be2c7 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs
@@ -76,7 +76,7 @@ public class JobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var list = new List();
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductReceiveJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductReceiveJobController.cs
index cbbab2341..33ce064ff 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductReceiveJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductReceiveJobController.cs
@@ -62,7 +62,7 @@ public class ProductReceiveJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -106,7 +106,7 @@ public class ProductReceiveJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductionReturnJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductionReturnJobController.cs
index ca0f1946e..d448d69b2 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductionReturnJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductionReturnJobController.cs
@@ -69,7 +69,7 @@ public class ProductionReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -113,7 +113,7 @@ public class ProductionReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReceiptJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReceiptJobController.cs
index e24f784c4..dc0477c94 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReceiptJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReceiptJobController.cs
@@ -21,14 +21,10 @@ namespace Win_in.Sfs.Wms.Pda.Controllers.Jobs;
///
[ApiController]
[Route($"{PdaHostConst.ROOT_ROUTE}job/purchase-receipt")]
-
public class PurchaseReceiptJobController : AbpController
{
private readonly ISupplierAppService _supplierAppService;
- private readonly IPurchaseReceiptRequestAppService _purchaseReceiptRequestAppService;
private readonly IPurchaseReceiptJobAppService _purchaseReceiptJobAppService;
- private readonly IFileAppService _fileAppService;
-
private readonly IUserWorkGroupAppService _userWorkGroupAppService;
///
@@ -42,15 +38,11 @@ public class PurchaseReceiptJobController : AbpController
public PurchaseReceiptJobController(
IPurchaseReceiptJobAppService purchaseReceiptJobAppService
, IUserWorkGroupAppService userWorkGroupAppService
- , IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService
- , ISupplierAppService supplierAppService
- , IFileAppService fileAppService)
+ , ISupplierAppService supplierAppService)
{
_userWorkGroupAppService = userWorkGroupAppService;
_purchaseReceiptJobAppService = purchaseReceiptJobAppService;
- _purchaseReceiptRequestAppService = purchaseReceiptRequestAppService;
_supplierAppService = supplierAppService;
- _fileAppService = fileAppService;
}
///
@@ -59,10 +51,9 @@ public class PurchaseReceiptJobController : AbpController
///
///
[HttpGet("{id}")]
-
public virtual async Task> GetAsync(Guid id)
{
- var result = await _purchaseReceiptJobAppService.GetAsync(id).ConfigureAwait(false);
+ var result = await _purchaseReceiptJobAppService.GetNoCacheAsync(id).ConfigureAwait(false);
var supplier = await _supplierAppService.GetByCodeAsync(result.SupplierCode).ConfigureAwait(false);
result.SupplierName = supplier.Name;
@@ -79,12 +70,13 @@ public class PurchaseReceiptJobController : AbpController
/// 是否今天
///
[HttpGet("list")]
- public virtual async Task> GetListAsync(int pageSize, int pageIndex, bool isTimeWindowSorting, bool isToday)
+ public virtual async Task> GetListAsync(int pageSize, int pageIndex,
+ bool isTimeWindowSorting, bool isToday)
{
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -96,17 +88,19 @@ public class PurchaseReceiptJobController : AbpController
{
Filters = new List
{
- new(nameof(PurchaseReceiptJobDTO.WorkGroupCode),jsonCodes,"In"),
- new(nameof(PurchaseReceiptJobDTO.JobStatus),jsonStatus,"In")
+ new(nameof(PurchaseReceiptJobDTO.WorkGroupCode), jsonCodes, "In"),
+ new(nameof(PurchaseReceiptJobDTO.JobStatus), jsonStatus, "In")
}
}
};
- if (isToday)//只看当日
+ if (isToday) //只看当日
{
- request.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
+ request.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate),
+ Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
}
- if (isTimeWindowSorting)//窗口时间排序
+
+ if (isTimeWindowSorting) //窗口时间排序
{
request.Sorting = $"{nameof(PurchaseReceiptJobDTO.TimeWindow)} ASC";
}
@@ -131,7 +125,8 @@ public class PurchaseReceiptJobController : AbpController
[HttpPost("list")]
public virtual async Task> GetListAsync(SfsJobRequestInputBase sfsRequestDTO)
{
- var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(sfsRequestDTO, true).ConfigureAwait(false);
+ var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(sfsRequestDTO, true)
+ .ConfigureAwait(false);
return list;
}
@@ -155,22 +150,27 @@ public class PurchaseReceiptJobController : AbpController
{
return new NotFoundObjectResult($"任务属于工作组 {jobDto.WorkGroupCode}");
}
+
if (!wlgCodes.Any(r => r == jobDto.WorkGroupCode))
{
return new NotFoundObjectResult($"任务属于工作组 {jobDto.WorkGroupCode}");
}
+
if (jobDto.JobStatus == EnumJobStatus.Doing && jobDto.AcceptUserId != CurrentUser.Id)
{
return new NotFoundObjectResult($"任务正在被 {jobDto.AcceptUserName} 处理");
}
- if (isToday)//只看当日
+
+ if (isToday) //只看当日
{
if (jobDto.PlanArriveDate.ToString("yyyy-MM-dd") == Clock.Now.ToString("yyyy-MM-dd"))
{
return jobDto;
}
+
return new NotFoundObjectResult($"不是当天的收货任务");
}
+
return jobDto;
}
@@ -181,12 +181,13 @@ public class PurchaseReceiptJobController : AbpController
///
///
[HttpGet("list/by-asn")]
- public virtual async Task> GetListByAsnNumberAsync(string asnNumber, bool isToday)
+ public virtual async Task> GetListByAsnNumberAsync(string asnNumber,
+ bool isToday)
{
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var requestInput = new SfsJobRequestInputBase
@@ -198,17 +199,20 @@ public class PurchaseReceiptJobController : AbpController
{
Filters = new List
{
- new(nameof(PurchaseReceiptJobDTO.AsnNumber),asnNumber),
- new(nameof(IssueJobDTO.WorkGroupCode),jsonWlgCodes,"In"),
- new(nameof(IssueJobDTO.JobStatus),jsonStatus,"In"),
+ new(nameof(PurchaseReceiptJobDTO.AsnNumber), asnNumber),
+ new(nameof(IssueJobDTO.WorkGroupCode), jsonWlgCodes, "In"),
+ new(nameof(IssueJobDTO.JobStatus), jsonStatus, "In"),
}
}
};
- if (isToday)//只看当日
+ if (isToday) //只看当日
{
- requestInput.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
+ requestInput.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate),
+ Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
}
- var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(requestInput, true).ConfigureAwait(false);
+
+ var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(requestInput, true)
+ .ConfigureAwait(false);
return list;
}
@@ -222,7 +226,7 @@ public class PurchaseReceiptJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -232,8 +236,8 @@ public class PurchaseReceiptJobController : AbpController
{
Filters = new List
{
- new(nameof(PurchaseReceiptJobDTO.WorkGroupCode),jsonCodes,"In"),
- new(nameof(PurchaseReceiptJobDTO.JobStatus),jsonStatus,"In")
+ new(nameof(PurchaseReceiptJobDTO.WorkGroupCode), jsonCodes, "In"),
+ new(nameof(PurchaseReceiptJobDTO.JobStatus), jsonStatus, "In")
}
}
};
@@ -292,9 +296,11 @@ public class PurchaseReceiptJobController : AbpController
///
///
[HttpPost("save-detail-inspect/{id}")]
- public virtual async Task SaveDetailAsync(Guid id, PurchaseReceiptJobDetailSaveInput purchaseReceiptJobDetailSaveInput)
+ public virtual async Task SaveDetailAsync(Guid id,
+ PurchaseReceiptJobDetailSaveInput purchaseReceiptJobDetailSaveInput)
{
- return await _purchaseReceiptJobAppService.SaveDetailInspectAsync(id, purchaseReceiptJobDetailSaveInput).ConfigureAwait(false);
+ return await _purchaseReceiptJobAppService.SaveDetailInspectAsync(id, purchaseReceiptJobDetailSaveInput)
+ .ConfigureAwait(false);
}
///
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReturnJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReturnJobController.cs
index c6a071cce..490fd4a44 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReturnJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReturnJobController.cs
@@ -63,7 +63,7 @@ public class PurchaseReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -132,7 +132,7 @@ public class PurchaseReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PutawayJobController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PutawayJobController.cs
index 88cb5d770..3c7227ccd 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PutawayJobController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PutawayJobController.cs
@@ -62,7 +62,7 @@ public class PutawayJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
@@ -106,7 +106,7 @@ public class PutawayJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
- List status = new List() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() };
+ var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/IssueNoteController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/IssueNoteController.cs
index 57ae6fad1..450e9326c 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/IssueNoteController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/IssueNoteController.cs
@@ -2,6 +2,7 @@ using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
+using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Pda.Controllers.Stores;
@@ -29,9 +30,17 @@ public class IssueNoteController : AbpController
/// 创建发料记录
///
///
- [HttpPost("{input}")]
- public virtual async Task CreateAsync(IssueNoteEditInput input)
+ [HttpPost("")]
+ public virtual async Task CreateAsync([FromBody] IssueNoteEditInput input)
{
+ input.RequestType = EnumMaterialRequestType.Direct_Issue.ToString();
+
+ input.Details.ForEach(p =>
+ {
+ p.ToLot = string.Empty;
+ p.ToPackingCode = string.Empty;
+ });
+
await _issueNoteAppService.CreateAsync(input).ConfigureAwait(false);
}
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
index dfcbbf219..b7cdd062a 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
@@ -35,4 +35,17 @@ public class PurchaseReceiptRequestController : AbpController
var result = await _purchaseReceiptRequestAppService.GetByNumberAsync(number).ConfigureAwait(false);
return Ok(result);
}
+
+ ///
+ /// 根据 物品 箱 获取收货记录
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("detail-by-item-and-packing")]
+ public virtual async Task GetDetailByItemAndPackingAsync(string itemCode,
+ string packingCode)
+ {
+ return await _purchaseReceiptRequestAppService.GetDetailByItemAndPackingAsync(itemCode, packingCode).ConfigureAwait(false);
+ }
}
diff --git a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnNoteController.cs b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnNoteController.cs
index 459ea3fe8..0dde430e2 100644
--- a/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnNoteController.cs
+++ b/be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnNoteController.cs
@@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.Domain.Entities.Auditing;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Label.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
@@ -109,33 +110,34 @@ public class PurchaseReturnNoteController : AbpController
{
var poNumber = poNumberItem.Key;
- var createInput = new PurchaseReturnNoteEditInput() { Details = new List() };
+ var returnNoteEditInput = new PurchaseReturnNoteEditInput() { Details = new List() };
- createInput.PoNumber = poNumber;
+ returnNoteEditInput.PoNumber = poNumber;
foreach (var poNumberDetail in poNumberItem)
{
var packingCode = poNumberDetail.PackingCode;
- await SetFromInventoryLabelAsync(packingCode, createInput).ConfigureAwait(false);
+ await SetFromInventoryLabelAsync(packingCode, returnNoteEditInput).ConfigureAwait(false);
- await SetFormPurchaseOrderAsync(poNumber, createInput).ConfigureAwait(false);
+ await SetFormPurchaseOrderAsync(poNumber, returnNoteEditInput).ConfigureAwait(false);
- createInput.ReturnType = returnType;
- createInput.ReturnTime = returnTime;
- createInput.ReturnReason = returnReason;
+ returnNoteEditInput.ReturnType = returnType;
+ returnNoteEditInput.ReturnTime = returnTime;
+ returnNoteEditInput.ReturnReason = returnReason;
var createInputDetail = new PurchaseReturnNoteDetailInput();
createInputDetail.PoNumber = poNumber;
createInputDetail.Reason = returnReason;
+ //createInputDetail.WarehouseCode= poNumberItem.
await SetDetailByBalanceAsync(packingCode, createInputDetail).ConfigureAwait(false);
- createInput.Details.Add(createInputDetail);
+ returnNoteEditInput.Details.Add(createInputDetail);
}
- createInputs.Add(createInput);
+ createInputs.Add(returnNoteEditInput);
}
return createInputs;
@@ -149,6 +151,9 @@ public class PurchaseReturnNoteController : AbpController
createInputDetail.LocationCode = balance.LocationCode;
createInputDetail.LocationErpCode = balance.LocationErpCode;
+ createInputDetail.LocationArea = balance.LocationArea;
+ createInputDetail.LocationGroup= balance.LocationGroup;
+ createInputDetail.WarehouseCode= balance.WarehouseCode;
createInputDetail.PackingCode = balance.PackingCode;
createInputDetail.ContainerCode = balance.ContainerCode;
createInputDetail.Uom = balance.Uom;
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
index a936326b9..509c60744 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
@@ -13,4 +13,5 @@ public interface IExpectOutAppService
Task> GetListByJobAsync(string jobNumber);
Task> GetListByItemAsync(string itemCode);
Task> GetListByLocationAsync(string locationCode);
+ Task> GetListByPackingCodeAsync(string packingCode);
}
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
index fddb1bbff..cc04a325d 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
@@ -146,4 +146,12 @@ public class ExpectOutAppService
//TODO
throw new UserFriendlyException("");
}
+
+ [HttpGet("list/by-packing/{packingCode}")]
+ public virtual async Task> GetListByPackingCodeAsync(string packingCode)
+ {
+ var entitys = await _repository.GetListAsync(p => p.PackingCode == packingCode).ConfigureAwait(false);
+
+ return ObjectMapper.Map, List>(entitys);
+ }
}
diff --git a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelDto.cs b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelDto.cs
index 8e3ccfbe0..ffda20f6b 100644
--- a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelDto.cs
+++ b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelDto.cs
@@ -214,4 +214,11 @@ public class InventoryLabelDto : SfsBasicDTOBase
///
[Display(Name = "供应商零件名")]
public string SupplierItemName { get; set; }
+
+ ///
+ /// 计划到货时间
+ ///
+ [Display(Name = "要求到货时间")]
+ [Required(ErrorMessage = "{0}是必填项")]
+ public DateTime PlanArriveDate { get; set; }
}
diff --git a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelEditInput.cs b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelEditInput.cs
index a6330a941..facf0ad7a 100644
--- a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelEditInput.cs
+++ b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelEditInput.cs
@@ -221,5 +221,12 @@ public class InventoryLabelEditInput : SfsLabelCreateOrUpdateInputBase
[Required(ErrorMessage = "{0}是必填项")]
public EnumLabelType LabelType { get; set; }
+ ///
+ /// 要求到货时间
+ ///
+ [Display(Name = "要求到货时间")]
+ [Required(ErrorMessage = "{0}是必填项")]
+ public DateTime PlanArriveDate { get; set; }
+
#endregion
}
diff --git a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelImportInput.cs b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelImportInput.cs
index 11c00f68f..78e0282ae 100644
--- a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelImportInput.cs
+++ b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelImportInput.cs
@@ -74,6 +74,13 @@ public class InventoryLabelImportInput : SfsImportInputBase
[Display(Name = "规格")]
public string Specifications { get; set; }
+ ///
+ /// 要求到货时间
+ ///
+ [Display(Name = "要求到货时间")]
+ [Required(ErrorMessage = "{0}是必填项")]
+ public DateTime PlanArriveDate { get; set; }
+
#region PurchaseInfo
///
diff --git a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelWithoutCodeCreateInput.cs b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelWithoutCodeCreateInput.cs
index 2b07f178d..d2dc012b1 100644
--- a/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelWithoutCodeCreateInput.cs
+++ b/be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelWithoutCodeCreateInput.cs
@@ -200,4 +200,11 @@ public class InventoryLabelWithoutCodeCreateInput
[Display(Name = "标签类型")]
[Required(ErrorMessage = "{0}是必填项")]
public EnumLabelType LabelType { get; set; }
+
+ ///
+ /// 要求到货时间
+ ///
+ [Display(Name = "要求到货时间")]
+ [Required(ErrorMessage = "{0}是必填项")]
+ public DateTime PlanArriveDate { get; set; }
}
diff --git a/be/Modules/Label/src/Win_in.Sfs.Label.Domain/InventoryLabels/InventoryLabel.cs b/be/Modules/Label/src/Win_in.Sfs.Label.Domain/InventoryLabels/InventoryLabel.cs
index a14dd8a51..3fc352575 100644
--- a/be/Modules/Label/src/Win_in.Sfs.Label.Domain/InventoryLabels/InventoryLabel.cs
+++ b/be/Modules/Label/src/Win_in.Sfs.Label.Domain/InventoryLabels/InventoryLabel.cs
@@ -166,4 +166,11 @@ public class InventoryLabel : SfsAggregateRootBase
///
[Display(Name = "供应商零件名")]
public string SupplierItemName { get; set; }
+
+ ///
+ /// 要求到货时间
+ ///
+ [Display(Name = "要求到货时间")]
+ [Required(ErrorMessage = "{0}是必填项")]
+ public DateTime PlanArriveDate { get; set; }
}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Application.Contracts/ISfsCrudWithDetailsAppService.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Application.Contracts/ISfsCrudWithDetailsAppService.cs
index b40d08de4..6be45cee7 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Application.Contracts/ISfsCrudWithDetailsAppService.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Application.Contracts/ISfsCrudWithDetailsAppService.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Services;
namespace Win_in.Sfs.Shared.Application.Contracts;
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
index e7643873e..2c022d8d3 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
@@ -188,10 +188,11 @@ public abstract class SfsCrudWithDetailsAppServiceBase GetAsync(Guid id)
{
- var dto = await Cache.GetOrAddItemAsync(
- id.ToString(),
- async () => await base.GetAsync(id).ConfigureAwait(false),
- SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
+ //var dto = await Cache.GetOrAddItemAsync(
+ // id.ToString(),
+ // async () => await base.GetAsync(id).ConfigureAwait(false),
+ // SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
+ var dto=await base.GetAsync(id).ConfigureAwait(false);
return dto;
}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumMaterialRequestType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumMaterialRequestType.cs
index b653ddd6b..245c1f9e8 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumMaterialRequestType.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumMaterialRequestType.cs
@@ -26,4 +26,7 @@ public enum EnumMaterialRequestType
/////
//[Display(Name = "安全库存拉动")]
//Issue_SfaetyStock = 1504,
+
+ [Display(Name = "直接发料")]
+ Direct_Issue = 1505
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
index dc4e8ffe1..1b26733b8 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
@@ -40,4 +40,12 @@ public interface IPurchaseReceiptJobAppService
///
///
Task> SetInspectWithNotInspectAsync(Guid id);
+
+ ///
+ /// 按Id获取实体 不走缓存
+ ///
+ /// 实体Id
+ ///
+ ///
+ Task GetNoCacheAsync(Guid id);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/DTOs/DeliverNoteDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/DTOs/DeliverNoteDTO.cs
index d44b88d24..0bc9f5a03 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/DTOs/DeliverNoteDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/DTOs/DeliverNoteDTO.cs
@@ -48,6 +48,13 @@ public class DeliverNoteDTO : SfsStoreDTOBase
[Display(Name = "发货申请单号")]
public string DeliverRequestNumber { get; set; }
+ ///
+ /// 打印次数
+ ///
+ ///
+ [Display(Name = "打印次数")]
+ public int CountPrint { get; set; }
+
///
/// 发货类型
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/Inputs/DeliverNoteEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/Inputs/DeliverNoteEditInput.cs
index 1985d4213..38c0e9206 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/Inputs/DeliverNoteEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/Inputs/DeliverNoteEditInput.cs
@@ -63,5 +63,13 @@ public class DeliverNoteEditInput : SfsStoreCreateOrUpdateInputBase
///
[Display(Name = "明细列表")]
public List Details { get; set; }
+
+ ///
+ /// 打印次数
+ ///
+ ///
+ [Display(Name = "打印次数")]
+ public int CountPrint { get; set; }
+
#endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
index d08927f6e..07a28912f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
@@ -20,4 +20,13 @@ public interface IPurchaseReceiptRequestAppService
///
///
Task> CreateManyAsync(List inputs);
+
+ ///
+ /// 【获取】【收货记录详情】根据 物品 箱码
+ ///
+ ///
+ ///
+ ///
+ Task GetDetailByItemAndPackingAsync(string itemCode,
+ string packingCode);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
index 81b97e990..c7090612f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
@@ -4,6 +4,7 @@ using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.ObjectMapping;
using Win_in.Sfs.FileStorage.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs
index 0b43b47f6..22b45c3bf 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAppService.cs
@@ -5,6 +5,7 @@ using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.ObjectMapping;
using Win_in.Sfs.FileStorage.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -177,6 +178,19 @@ public class PurchaseReceiptJobAppService :
entity.Details.Find(p => p.Id == input.DetailId));
}
+ ///
+ /// 按Id获取实体 不走缓存
+ ///
+ /// 实体Id
+ ///
+ ///
+ [HttpGet("no-cache/{id}")]
+ public virtual async Task GetNoCacheAsync(Guid id)
+ {
+ var entity= await _repository.GetAsync(id).ConfigureAwait(false);
+ return ObjectMapper.Map(entity);
+ }
+
#endregion
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAppService.cs
index b1922fd4b..c50a174bb 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAppService.cs
@@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Dtos;
+using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -72,7 +73,7 @@ public class DeliverNoteAppService :
CancellationToken cancellationToken = default)
{
sfsRequestDTO.Condition.Filters.Add(
- new Filter(nameof(DeliverRequest.DeliverRequestType), "2"));
+ new Filter(nameof(DeliverRequest.DeliverRequestType), EnumDeliverRequestType.FIS.ToString()));
return await base.GetPagedListByFilterAsync(sfsRequestDTO, includeDetails, cancellationToken)
.ConfigureAwait(false);
@@ -85,7 +86,7 @@ public class DeliverNoteAppService :
CancellationToken cancellationToken = default)
{
sfsRequestDTO.Condition.Filters.Add(
- new Filter(nameof(DeliverRequest.DeliverRequestType), "1"));
+ new Filter(nameof(DeliverRequest.DeliverRequestType), EnumDeliverRequestType.Normal.ToString()));
return await base.GetPagedListByFilterAsync(sfsRequestDTO, includeDetails, cancellationToken)
.ConfigureAwait(false);
@@ -98,7 +99,7 @@ public class DeliverNoteAppService :
CancellationToken cancellationToken = default)
{
sfsRequestDTO.Condition.Filters.Add(
- new Filter(nameof(DeliverRequest.DeliverRequestType), "3"));
+ new Filter(nameof(DeliverRequest.DeliverRequestType), EnumDeliverRequestType.RAW.ToString()));
return await base.GetPagedListByFilterAsync(sfsRequestDTO, includeDetails, cancellationToken)
.ConfigureAwait(false);
@@ -132,4 +133,18 @@ public class DeliverNoteAppService :
var list = ObjectMapper.Map, List>(entities);
return ExportImportService.Export(list, true, "Details");
}
+
+ ///
+ /// 调取打印
+ ///
+ ///
+ [HttpPost("sum-print/{number}")]
+ public virtual async Task SumPrintAsync(string number)
+ {
+ var entity = await _repository.GetAsync(p => p.Number == number).ConfigureAwait(false);
+
+ entity.CountPrint++;
+
+ await _repository.UpdateAsync(entity).ConfigureAwait(false);
+ }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAutoMapperProfile.cs
index 81f3769ea..90aaa4d91 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/DeliverNotes/DeliverNoteAutoMapperProfile.cs
@@ -19,5 +19,18 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId)
.Ignore(x => x.Number)
.Ignore(x => x.Id);
+
+ CreateMap()
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id)
+ .Ignore(x=>x.CountPrint)
+ ;
+ CreateMap()
+ .Ignore(x => x.MasterID)
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id);
+ ;
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/IssueNoteAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/IssueNoteAutoMapperProfile.cs
index d59cc23ff..7ddb54704 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/IssueNoteAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/IssueNoteAutoMapperProfile.cs
@@ -20,5 +20,12 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId)
.Ignore(x => x.Number)
.Ignore(x => x.Id);
+
+ CreateMap()
+ .IgnoreAuditedObjectProperties()
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id);
+ ;
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReturnNotes/PurchaseReturnNoteAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReturnNotes/PurchaseReturnNoteAutoMapperProfile.cs
index ca75b6d5d..bc12055ab 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReturnNotes/PurchaseReturnNoteAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReturnNotes/PurchaseReturnNoteAutoMapperProfile.cs
@@ -22,5 +22,19 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId)
.Ignore(x => x.Number)
.Ignore(x => x.Id);
+
+ CreateMap()
+ .IgnoreAuditedObjectProperties()
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id)
+ ;
+
+ CreateMap()
+ .IgnoreAuditedObjectProperties()
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id)
+ ;
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAppService.cs
index f0f21e83b..9407d0b7e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAppService.cs
@@ -2,9 +2,11 @@ using System;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;
+using DocumentFormat.OpenXml.Bibliography;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.EventBus;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -12,7 +14,11 @@ using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application;
using System.Linq;
+using IdentityModel;
+using Volo.Abp.Domain.Entities;
+using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Event;
[Authorize]
[Route($"{StoreConsts.RootPath}scrap-note")]
@@ -21,28 +27,31 @@ public class ScrapNoteAppService :
ScrapNoteDetail, ScrapNoteDetailDTO, SfsStoreRequestInputBase, ScrapNoteImportInput>,
IScrapNoteAppService
{
- private readonly IScrapNoteManager _scrapNoteManager;
-
public ScrapNoteAppService(
- IScrapNoteRepository repository
- , IScrapNoteManager scrapNoteManager
- ) : base(repository)
+ IScrapNoteRepository repository) : base(repository)
{
- _scrapNoteManager = scrapNoteManager;
}
[HttpPost("")]
- //[Authorize(ScrapNotePermissions.Create)]
public override async Task CreateAsync(ScrapNoteEditInput input)
{
var entity = ObjectMapper.Map(input);
- await _scrapNoteManager.CreateAsync(entity).ConfigureAwait(false);
+ var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(nameof(ScrapNote), entity.ActiveDate).ConfigureAwait(false) : entity.Number;
+ entity.SetIdAndNumberWithDetails(GuidGenerator, number);
+
+ foreach (var detail in entity.Details)
+ {
+ detail.SetIdAndNumber(GuidGenerator, entity.Id, entity.Number);
+ }
+
+ entity = await _repository.InsertAsync(entity).ConfigureAwait(false);
+ await LocalEventBus.PublishAsync(new SfsCreatedEntityEventData(entity), false).ConfigureAwait(false);
var dto = ObjectMapper.Map(entity);
return dto;
}
-
+
[HttpPost("by-type/{type}")]
public virtual async Task> GetListByTypeAsync(
SfsStoreRequestInputBase requestInput,
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAutoMapperProfile.cs
index 7545e93a1..6488a5f26 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ScrapNotes/ScrapNoteAutoMapperProfile.cs
@@ -20,5 +20,19 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId)
.Ignore(x => x.Number)
.Ignore(x => x.Id);
+
+ CreateMap()
+ .IgnoreAuditedObjectProperties()
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id);
+ ;
+ CreateMap()
+ .IgnoreAuditedObjectProperties()
+ .Ignore(x => x.MasterID)
+ .Ignore(x => x.TenantId)
+ .Ignore(x => x.Number)
+ .Ignore(x => x.Id);
+ ;
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/SupplierAsns/SupplierAsnAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/SupplierAsns/SupplierAsnAppService.cs
index f232b2a60..b57a4890e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/SupplierAsns/SupplierAsnAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/SupplierAsns/SupplierAsnAppService.cs
@@ -64,6 +64,7 @@ public class SupplierAsnAppService :
{
var inputEntity = ObjectMapper.Map(input);
+ inputEntity.Number = input.Number;
var resultEntity = await _supplierAsnManager.CreateAsync(inputEntity).ConfigureAwait(false);
return ObjectMapper.Map(resultEntity);
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
index e1b1a4477..ded767df5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@@ -54,6 +55,25 @@ public class PurchaseReceiptRequestAppService :
return ObjectMapper.Map(resultEntity);
}
+ ///
+ /// 【获取】【收货记录详情】根据 物品 箱码
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("detail-by-item-and-packing")]
+ public virtual async Task GetDetailByItemAndPackingAsync(string itemCode,
+ string packingCode)
+ {
+ var entity = (await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode && y.PackingCode == packingCode), true).ConfigureAwait(false)).FirstOrDefault();
+
+ var detail = entity.Details.FirstOrDefault(y => y.ItemCode == itemCode && y.PackingCode == packingCode);
+
+ var dto = ObjectMapper.Map(detail);
+
+ return dto;
+ }
+
#endregion
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ScrapRequests/ScrapRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ScrapRequests/ScrapRequestAppService.cs
index b8a8ebb34..2c81b848c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ScrapRequests/ScrapRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ScrapRequests/ScrapRequestAppService.cs
@@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
+using Volo.Abp.Users;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
@@ -17,26 +18,85 @@ using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
+using Win_in.Sfs.Wms.Store.Domain.Acl.Dict;
using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application;
[Authorize]
[Route($"{StoreConsts.RootPath}scrap-request")]
-public class ScrapRequestAppService :
- SfsStoreRequestAppServiceBase
-
+public class ScrapRequestAppService : SfsStoreRequestAppServiceBase
+
{
- private readonly IScrapRequestManager _scrapRequestManager;
-
private const string ReasonItemCode = "Reason";
+ private readonly IScrapRequestManager _scrapRequestManager;
+ private readonly IDictAclService _dictAclService;
+ private readonly ITransactionTypeAppService _transactionTypeAppService;
+ private readonly IItemBasicAppService _itemBasicAppService;
public ScrapRequestAppService(
- IScrapRequestRepository repository,
- IScrapRequestManager scrapRequestManager)
+ IScrapRequestRepository repository,
+ IScrapRequestManager scrapRequestManager,
+ IDictAclService dictAclService,
+ ITransactionTypeAppService transactionTypeAppService,
+ IItemBasicAppService itemBasicAppService)
: base(repository, scrapRequestManager)
{
_scrapRequestManager = scrapRequestManager;
+ _dictAclService = dictAclService;
+ _transactionTypeAppService = transactionTypeAppService;
+ _itemBasicAppService = itemBasicAppService;
+ }
+
+ #region 东阳使用
+
+ protected override async Task> ImportProcessingEntityAsync(
+ Dictionary dictionary)
+ {
+ var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
+
+ foreach (var scrapRequest in addList)
+ {
+ scrapRequest.CreatorId = CurrentUser.Id;
+ scrapRequest.Worker = CurrentUser.Name;
+
+ scrapRequest.Type = EnumTransSubType.Scrap_WIP.ToString();
+ scrapRequest.ActiveDate = DateTime.Now;
+
+ await SetEntityPropertiesAsync(scrapRequest, EnumTransSubType.Scrap_WIP).ConfigureAwait(false);
+
+ foreach (var detail in scrapRequest.Details)
+ {
+ var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
+ detail.ItemName = itemBasicDto.Name;
+ detail.ItemDesc1 = itemBasicDto.Desc1;
+ detail.ItemDesc2 = itemBasicDto.Desc2;
+
+ detail.Uom = itemBasicDto.BasicUom;
+ }
+ }
+
+ return dictionary;
+ }
+
+ private async Task SetEntityPropertiesAsync(ScrapRequest entity, EnumTransSubType subType)
+ {
+ var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Scrap, subType)
+ .ConfigureAwait(false);
+ entity.Worker = CurrentUser.GetUserName();
+
+ entity.AutoCompleteJob = tranType.AutoCompleteJob;
+ entity.AutoSubmit = tranType.AutoSubmitRequest;
+ entity.AutoAgree = tranType.AutoAgreeRequest;
+ entity.AutoHandle = tranType.AutoHandleRequest;
+ entity.DirectCreateNote = tranType.DirectCreateNote;
}
[HttpPost("by-type/{type}")]
@@ -53,9 +113,11 @@ public class ScrapRequestAppService :
}
return await GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount,
- requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
+ requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
}
+ #endregion
+
[HttpPost("export-by-type")]
public virtual async Task ExportByTypeAsync(SfsExportRequestInput requestInput, string type)
{
@@ -65,16 +127,19 @@ public class ScrapRequestAppService :
expression = expression.And(requestInput.Condition.Filters.ToLambda());
}
- var entities = await _repository.GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount, requestInput.Sorting, true).ConfigureAwait(false);
+ var entities = await _repository
+ .GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount, requestInput.Sorting,
+ true).ConfigureAwait(false);
var list = ObjectMapper.Map, List>(entities);
return ExportImportService.Export(list, true, "Details");
}
- #region import
+ #region 校验
- protected override async Task ValidateImportModelAsync(ScrapRequestImportInput model, List validationRresult)
+ protected override async Task ValidateImportModelAsync(ScrapRequestImportInput model,
+ List validationRresult)
{
_ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
_ = await CheckLocationAsync(model, validationRresult).ConfigureAwait(false);
@@ -82,33 +147,38 @@ public class ScrapRequestAppService :
await CheckDicAsync(model, validationRresult).ConfigureAwait(false);
}
- protected async Task CheckItemBasicAsync(ScrapRequestImportInput importInput, List validationRresul)
+ protected async Task CheckItemBasicAsync(ScrapRequestImportInput importInput,
+ List validationRresul)
{
var item = await ItemBasicAclService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false);
if (item == null)
{
validationRresul.Add(new ValidationResult($"物品代码{importInput.ItemCode}不存在", new string[] { "物品代码" }));
}
+
if (importInput.Qty <= 0)
{
validationRresul.Add(new ValidationResult($"数量{importInput.Qty}需要大于0", new string[] { "数量" }));
}
+
return item;
}
- protected async Task CheckLocationAsync(ScrapRequestImportInput importInput, List validationRresul)
+ protected async Task CheckLocationAsync(ScrapRequestImportInput importInput,
+ List validationRresul)
{
var location = await LocationAclService.GetByCodeAsync(importInput.LocationCode).ConfigureAwait(false);
if (location == null)
{
validationRresul.Add(new ValidationResult($"库位代码{importInput.LocationCode}不存在", new string[] { "库位代码" }));
}
+
return location;
}
protected async Task CheckDicAsync(ScrapRequestImportInput importInput, List validationRresul)
{
- var dicItem = await DictAclService.GetByCodeAsync(ReasonItemCode).ConfigureAwait(false);
+ var dicItem = await _dictAclService.GetByCodeAsync(ReasonItemCode).ConfigureAwait(false);
if (dicItem == null)
{
validationRresul.Add(new ValidationResult($"字典编号{ReasonItemCode}不存在", new string[] { "字典编号" }));
@@ -116,26 +186,28 @@ public class ScrapRequestAppService :
if (!dicItem.Items.Any(r => r.Code == importInput.ReasonCode))
{
- validationRresul.Add(new ValidationResult($"报废原因代码{importInput.ReasonCode}在线边仓报废原因中不存在", new string[] { "报废原因代码" }));
+ validationRresul.Add(new ValidationResult($"报废原因代码{importInput.ReasonCode}在线边仓报废原因中不存在",
+ new string[] { "报废原因代码" }));
}
}
protected async Task CheckTransactionTypeAsync(List validationRresul)
{
-
- var transactionType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Scrap, EnumTransSubType.None).ConfigureAwait(false);
+ var transactionType = await TransactionTypeAclService
+ .GetByTransTypeAsync(EnumTransType.Scrap, EnumTransSubType.Scrap_WIP).ConfigureAwait(false);
Check.NotNull(transactionType, "事务类型", "事务类型报废不存在");
return transactionType;
}
- protected async Task CheckBalanceAsync(ScrapRequestImportInput importInput, List validationRresul)
+ protected async Task CheckBalanceAsync(ScrapRequestImportInput importInput,
+ List validationRresul)
{
var balance = await BalanceAclService.GetByItemLocationAndPackingAsync(
- string.Empty,
- importInput.ItemCode,
- importInput.LocationCode).ConfigureAwait(false);
+ string.Empty,
+ importInput.ItemCode,
+ importInput.LocationCode).ConfigureAwait(false);
//var balance = await this._balanceApp.GetByItemLocationAndPackingAsync(
// string.Empty,
// itemBasic.Code,
@@ -145,6 +217,7 @@ public class ScrapRequestAppService :
{
throw new ArgumentException($"物品代码 {importInput.ItemCode}的库存余额数量{balance.Qty}小于导入数量{importInput.Qty}。");
}
+
return balance;
}
@@ -157,7 +230,9 @@ public class ScrapRequestAppService :
{
foreach (var entity in dict.Keys)
{
- var tranType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Scrap, Enum.Parse(entity.Type)).ConfigureAwait(false);
+ var tranType = await TransactionTypeAclService
+ .GetByTransTypeAsync(EnumTransType.Scrap, EnumTransSubType.Scrap_WIP)
+ .ConfigureAwait(false);
Check.NotNull(tranType, "事务类型", "事务类型不存在");
entity.AutoCompleteJob = tranType.AutoCompleteJob;
entity.AutoSubmit = tranType.AutoSubmitRequest;
@@ -165,6 +240,7 @@ public class ScrapRequestAppService :
entity.AutoHandle = tranType.AutoHandleRequest;
entity.DirectCreateNote = tranType.DirectCreateNote;
}
+
return await base.ValidateImportEntities(dict).ConfigureAwait(false);
}
@@ -193,6 +269,7 @@ public class ScrapRequestAppService :
}
}
}
+
await base.SaveImportAsync(dict).ConfigureAwait(false);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs
index c842b5b93..409de9b89 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/TransferRequests/TransferRequestAppService.cs
@@ -25,8 +25,14 @@ namespace Win_in.Sfs.Wms.Store.Application;
[Authorize]
[Route($"{StoreConsts.RootPath}transfer-request")]
public class TransferRequestAppService : SfsStoreRequestAppServiceBase
- ,
+ ,
ITransferRequestAppService
{
private readonly ITransferRequestManager _transferRequestManager;
@@ -69,7 +75,7 @@ public class TransferRequestAppService : SfsStoreRequestAppServiceBase
detail.ItemCode, detail.FromLocationCode).ConfigureAwait(false);
var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode)
.ConfigureAwait(false);
-
+
detail.ItemCode = balanceDto.ItemCode;
detail.ArriveDate = balanceDto.ArriveDate;
detail.ItemDesc1 = balanceDto.ItemDesc1;
@@ -103,7 +109,8 @@ public class TransferRequestAppService : SfsStoreRequestAppServiceBase
detail.ToLot = balanceDto.Lot;
}
- await SetEntityPropertiesAsync(transferRequest, EnumTransSubType.Transfer_Customer).ConfigureAwait(false);
+ await SetEntityPropertiesAsync(transferRequest, EnumTransSubType.Transfer_Customer)
+ .ConfigureAwait(false);
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs
index 9930d91b2..68e6f5e97 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs
@@ -138,8 +138,11 @@ public class InspectJobManager : SfsJobManagerBase
{
var jobEntity = await Repository.FindAsync(id);
- jobEntity.Details.Where(p => p.DetailInspectStatus == EnumDetailInspectStatus.DefaultOK ||
- p.DetailInspectStatus == EnumDetailInspectStatus.OK).ToList().ForEach(p =>
+ jobEntity.Details.Where(p => (p.DetailInspectStatus == EnumDetailInspectStatus.DefaultOK ||
+ p.DetailInspectStatus == EnumDetailInspectStatus.OK)&&
+ p.ItemCode== input.ItemCode&&
+ p.Lot==input.Lot
+ ).ToList().ForEach(p =>
{
p.GoodQty = p.ReceiveQty;
});
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/DeliverNotes/DeliverNote.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/DeliverNotes/DeliverNote.cs
index 15b096b4a..6a60d8f74 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/DeliverNotes/DeliverNote.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/DeliverNotes/DeliverNote.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
+using DocumentFormat.OpenXml.Wordprocessing;
+using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Entities;
using Win_in.Sfs.Shared.Domain.Shared;
@@ -52,6 +54,13 @@ public class DeliverNote : SfsStoreAggregateRootBase, IHasJob
[IgnoreUpdate]
public EnumDeliverRequestType DeliverRequestType { get; set; }
+ ///
+ /// 打印次数
+ ///
+ ///
+ [Display(Name = "打印次数")]
+ public int CountPrint { get; set; }
+
///
/// 明细列表
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ScrapNotes/ScrapNoteManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ScrapNotes/ScrapNoteManager.cs
index 467ad4e9d..56c0ffb49 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ScrapNotes/ScrapNoteManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/ScrapNotes/ScrapNoteManager.cs
@@ -1,3 +1,5 @@
+using System.Threading.Tasks;
+
namespace Win_in.Sfs.Wms.Store.Domain;
public class ScrapNoteManager : SfsStoreManagerBase, IScrapNoteManager
@@ -7,6 +9,6 @@ public class ScrapNoteManager : SfsStoreManagerBase,
IScrapNoteRepository repository
) : base(repository)
{
+
}
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20230412072454_Store_AddColumn.Designer.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20230412072454_Store_AddColumn.Designer.cs
new file mode 100644
index 000000000..72ce9d5e6
--- /dev/null
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20230412072454_Store_AddColumn.Designer.cs
@@ -0,0 +1,20983 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+using Win_in.Sfs.Wms.Store.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Win_in.Sfs.Wms.Store.Migrations
+{
+ [DbContext(typeof(StoreDbContext))]
+ [Migration("20230412072454_Store_AddColumn")]
+ partial class Store_AddColumn
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+ .HasAnnotation("ProductVersion", "6.0.13")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.BackFlushNote", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("CompleteTime")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("JobNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("LocationArea")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationArea");
+
+ b.Property("LocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationCode");
+
+ b.Property("LocationErpCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationErpCode");
+
+ b.Property("LocationGroup")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationGroup");
+
+ b.Property("Lot")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Lot");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("PackingCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProdLine")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ProductReceiptNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ProductRecycleNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ProductionPlanNumber")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Qty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)")
+ .HasColumnName("Qty");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("Shift")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("SupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("SupplierBatch");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Uom")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Uom");
+
+ b.Property("WarehouseCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("WarehouseCode");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Workshop")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Store_BackFlushNote", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.BackFlushNoteDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("BomVersion")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ContainerCode");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsOffLine")
+ .HasColumnType("bit");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("LocationArea")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationArea");
+
+ b.Property("LocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationCode");
+
+ b.Property("LocationErpCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationErpCode");
+
+ b.Property("LocationGroup")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationGroup");
+
+ b.Property("Lot")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Lot");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("PackingCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("PackingCode");
+
+ b.Property("ProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Qty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)")
+ .HasColumnName("Qty");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("SupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("SupplierBatch");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Uom")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Uom");
+
+ b.Property("WarehouseCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("WarehouseCode");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MasterID");
+
+ b.HasIndex("Number", "ItemCode", "Lot")
+ .IsUnique()
+ .HasFilter("[Lot] IS NOT NULL");
+
+ b.ToTable("Store_BackFlushNoteDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.CheckJob", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AcceptTime")
+ .HasColumnType("datetime2");
+
+ b.Property("AcceptUserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AcceptUserName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("CompleteTime")
+ .HasColumnType("datetime2");
+
+ b.Property("CompleteUserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CompleteUserName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeliverNoteNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsAutoComplete")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false);
+
+ b.Property("JobDescription")
+ .HasMaxLength(1024)
+ .HasColumnType("nvarchar(1024)");
+
+ b.Property("JobStatus")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("JobType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Priority")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0);
+
+ b.Property("PriorityIncrement")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0);
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UpStreamJobNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("WarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("WorkGroupCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Job_CheckJob", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.CheckJobDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ContainerCode");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("CustomerItemCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("LocationArea")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationArea");
+
+ b.Property("LocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationCode");
+
+ b.Property("LocationErpCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationErpCode");
+
+ b.Property("LocationGroup")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("LocationGroup");
+
+ b.Property("Lot")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Lot");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Order")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("PackingCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("PackingCode");
+
+ b.Property("ProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Qty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)")
+ .HasColumnName("Qty");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("SupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("SupplierBatch");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Uom")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Uom");
+
+ b.Property("WarehouseCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("WarehouseCode");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MasterID");
+
+ b.ToTable("Job_CheckJobDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.ContainerBindNote", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("BindTime")
+ .HasColumnType("datetime2");
+
+ b.Property("BindType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ContainerCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("LocationCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Store_ContainerBindNote", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.ContainerBindNoteDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ContainerCode");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ItemCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemCode");
+
+ b.Property("ItemDesc1")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc1");
+
+ b.Property("ItemDesc2")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemDesc2");
+
+ b.Property("ItemName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ItemName");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Lot")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Lot");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("PackingCode")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("PackingCode");
+
+ b.Property("ProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("Qty")
+ .HasPrecision(18, 6)
+ .HasColumnType("decimal(18,6)")
+ .HasColumnName("Qty");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("SupplierBatch")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("SupplierBatch");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Uom")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Uom");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MasterID");
+
+ b.HasIndex("Number", "PackingCode")
+ .IsUnique();
+
+ b.ToTable("Store_ContainerBindNoteDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.CountAdjustNote", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CountAdjustRequestNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CountNoteNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CountPlanNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsAdjusted")
+ .HasColumnType("bit");
+
+ b.Property("JobNumber")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("Type")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Store_CountAdjustNote", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.CountAdjustNoteDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AdjustQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("ArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ContainerCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ContainerCode");
+
+ b.Property("CountLabel")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("CountQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property