修改生成规则
This commit is contained in:
@@ -60,7 +60,7 @@ namespace WMS.Web.Api.Controllers
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Route("generate")]
|
[Route("generate")]
|
||||||
public async Task<Result> DeleteAsync([FromBody] GenerateBoxMarkDto dto)
|
public async Task<ResultList<BoxMarkQueryResponse>> DeleteAsync([FromBody] GenerateBoxMarkDto dto)
|
||||||
{
|
{
|
||||||
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
|
||||||
if (loginInfo == null || loginInfo.UserInfo == null)
|
if (loginInfo == null || loginInfo.UserInfo == null)
|
||||||
|
|||||||
@@ -355,6 +355,11 @@
|
|||||||
唯一ID
|
唯一ID
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.BoxMarkQueryResponse.DetailId">
|
||||||
|
<summary>
|
||||||
|
明细编号ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Core.Dto.BoxMarkQueryResponse.BillNo">
|
<member name="P:WMS.Web.Core.Dto.BoxMarkQueryResponse.BillNo">
|
||||||
<summary>
|
<summary>
|
||||||
箱唛编号
|
箱唛编号
|
||||||
@@ -430,6 +435,11 @@
|
|||||||
创建时间(生成时间)
|
创建时间(生成时间)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Core.Dto.BoxMarkQueryResponse.IsTail">
|
||||||
|
<summary>
|
||||||
|
是否是尾箱
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:WMS.Web.Core.Dto.GenerateBoxMarkDto">
|
<member name="T:WMS.Web.Core.Dto.GenerateBoxMarkDto">
|
||||||
<summary>
|
<summary>
|
||||||
生成箱唛dto
|
生成箱唛dto
|
||||||
|
|||||||
@@ -280,21 +280,6 @@
|
|||||||
ID
|
ID
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.BoxMark.BillNo">
|
|
||||||
<summary>
|
|
||||||
箱唛编号
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Domain.Entitys.BoxMark.FirstBillNo">
|
|
||||||
<summary>
|
|
||||||
箱唛编号-首位
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Domain.Entitys.BoxMark.LastBillNo">
|
|
||||||
<summary>
|
|
||||||
箱唛编号-末尾序号
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Domain.Entitys.BoxMark.OrderBillNo">
|
<member name="P:WMS.Web.Domain.Entitys.BoxMark.OrderBillNo">
|
||||||
<summary>
|
<summary>
|
||||||
订单编号
|
订单编号
|
||||||
@@ -355,6 +340,11 @@
|
|||||||
创建时间(生成时间)
|
创建时间(生成时间)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMark.BillNos">
|
||||||
|
<summary>
|
||||||
|
编号集合
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.Entitys.BoxMark.Create(System.Int32)">
|
<member name="M:WMS.Web.Domain.Entitys.BoxMark.Create(System.Int32)">
|
||||||
<summary>
|
<summary>
|
||||||
创建
|
创建
|
||||||
@@ -368,6 +358,48 @@
|
|||||||
<param name="firstBillNo"></param>
|
<param name="firstBillNo"></param>
|
||||||
<param name="lastBillNo"></param>
|
<param name="lastBillNo"></param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:WMS.Web.Domain.Entitys.BoxMarkBillNo">
|
||||||
|
<summary>
|
||||||
|
箱唛表-编号表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMarkBillNo.Id">
|
||||||
|
<summary>
|
||||||
|
ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMarkBillNo.Fid">
|
||||||
|
<summary>
|
||||||
|
上级ID
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMarkBillNo.BillNo">
|
||||||
|
<summary>
|
||||||
|
箱唛编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMarkBillNo.FirstBillNo">
|
||||||
|
<summary>
|
||||||
|
箱唛编号-首位
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMarkBillNo.LastBillNo">
|
||||||
|
<summary>
|
||||||
|
箱唛编号-末尾序号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.BoxMarkBillNo.IsTail">
|
||||||
|
<summary>
|
||||||
|
是否是尾箱
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Entitys.BoxMarkBillNo.GenerateBillNo(System.Int32,System.Int32)">
|
||||||
|
<summary>
|
||||||
|
生成编号
|
||||||
|
</summary>
|
||||||
|
<param name="firstBillNo"></param>
|
||||||
|
<param name="lastBillNo"></param>
|
||||||
|
</member>
|
||||||
<member name="T:WMS.Web.Domain.Entitys.ChangeBoxRecord">
|
<member name="T:WMS.Web.Domain.Entitys.ChangeBoxRecord">
|
||||||
<summary>
|
<summary>
|
||||||
wms改箱记录
|
wms改箱记录
|
||||||
@@ -2235,6 +2267,20 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Infrastructure.IBoxMarkRepositories.GetListInfoBy(System.Int32,System.Int32)">
|
||||||
|
<summary>
|
||||||
|
列表-详情信息列表
|
||||||
|
</summary>
|
||||||
|
<param name="id"></param>
|
||||||
|
<param name="companyId"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:WMS.Web.Domain.Infrastructure.IBoxMarkRepositories.GetLastBillNo">
|
||||||
|
<summary>
|
||||||
|
获取最新的编号实体
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:WMS.Web.Domain.Infrastructure.IBoxMarkRepositories.DeleteRange(System.Collections.Generic.List{System.Int32},System.Boolean)">
|
<member name="M:WMS.Web.Domain.Infrastructure.IBoxMarkRepositories.DeleteRange(System.Collections.Generic.List{System.Int32},System.Boolean)">
|
||||||
<summary>
|
<summary>
|
||||||
批量删除
|
批量删除
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ namespace WMS.Web.Core.Dto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 明细编号ID
|
||||||
|
/// </summary>
|
||||||
|
public int DetailId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 箱唛编号
|
/// 箱唛编号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -87,5 +92,10 @@ namespace WMS.Web.Core.Dto
|
|||||||
/// 创建时间(生成时间)
|
/// 创建时间(生成时间)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string CreateTime { get; set; }
|
public string CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否是尾箱
|
||||||
|
/// </summary>
|
||||||
|
public bool IsTail { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,12 +29,14 @@ namespace WMS.Web.Core.Dto
|
|||||||
/// 产品数量
|
/// 产品数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "产品数量不能为空")]
|
[Required(ErrorMessage = "产品数量不能为空")]
|
||||||
|
[Range(1, int.MaxValue, ErrorMessage = "产品数量不能为0")]
|
||||||
public decimal ProductQty { get; set; }
|
public decimal ProductQty { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 装箱数量
|
/// 装箱数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required(ErrorMessage = "装箱数量不能为空")]
|
[Required(ErrorMessage = "装箱数量不能为空")]
|
||||||
|
[Range(1, int.MaxValue, ErrorMessage = "装箱数量不能为0")]
|
||||||
public decimal CratingQty { get; set; }
|
public decimal CratingQty { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -18,20 +18,20 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public override int Id { get; set; }
|
public override int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 箱唛编号
|
///// 箱唛编号
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public string BillNo { get; set; }
|
//public string BillNo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 箱唛编号-首位
|
///// 箱唛编号-首位
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public int FirstBillNo { get; set; }
|
//public int FirstBillNo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 箱唛编号-末尾序号
|
///// 箱唛编号-末尾序号
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public int LastBillNo { get; set; }
|
//public int LastBillNo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 订单编号
|
/// 订单编号
|
||||||
@@ -93,6 +93,11 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime CreateTime { get; set; }
|
public DateTime CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 编号集合
|
||||||
|
/// </summary>
|
||||||
|
public List<BoxMarkBillNo> BillNos { get; set; } = new List<BoxMarkBillNo>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建
|
/// 创建
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -110,25 +115,34 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// <param name="lastBillNo"></param>
|
/// <param name="lastBillNo"></param>
|
||||||
public void GenerateBillNo(int firstBillNo, int lastBillNo)
|
public void GenerateBillNo(int firstBillNo, int lastBillNo)
|
||||||
{
|
{
|
||||||
this.FirstBillNo=Convert.ToInt32(DateTime.Now.ToString("yyMMdd"));
|
if (this.BillNos == null)
|
||||||
if (this.FirstBillNo == firstBillNo)
|
this.BillNos = new List<BoxMarkBillNo>();
|
||||||
this.LastBillNo = lastBillNo + 1;
|
|
||||||
else
|
|
||||||
this.LastBillNo = 1;
|
|
||||||
|
|
||||||
if (this.LastBillNo.ToString().Length >= 5)
|
//计算要装的箱数量
|
||||||
|
var boxCount_tag = this.ProductQty / this.CratingQty;
|
||||||
|
var boxCount = Convert.ToInt32(boxCount_tag);
|
||||||
|
|
||||||
|
//判断是否存在小数点;true表明有尾箱数,false没有尾箱数
|
||||||
|
var hasPart = Math.Floor(boxCount_tag) != boxCount_tag;
|
||||||
|
|
||||||
|
//有小数点向上取整
|
||||||
|
if (hasPart)
|
||||||
|
boxCount = Convert.ToInt32(Math.Ceiling(boxCount_tag));
|
||||||
|
|
||||||
|
for (int i = 0; i < boxCount; i++)
|
||||||
{
|
{
|
||||||
this.BillNo = "XM" + this.FirstBillNo + this.LastBillNo;
|
//添加编号生成
|
||||||
return;
|
var bill = new BoxMarkBillNo();
|
||||||
}
|
bill.GenerateBillNo(firstBillNo, lastBillNo);
|
||||||
|
this.BillNos.Add(bill);
|
||||||
|
|
||||||
string lastStr = this.LastBillNo.ToString();
|
//改变前后的billNo值,新的值再一次被使用
|
||||||
while (true)
|
firstBillNo = bill.FirstBillNo;
|
||||||
{
|
lastBillNo = bill.LastBillNo;
|
||||||
lastStr = "0" + lastStr;
|
|
||||||
if (lastStr.Length >= 5) break;
|
|
||||||
}
|
}
|
||||||
this.BillNo = "XM" + this.FirstBillNo + lastStr;
|
//判断有小数点,那么它就有尾箱,把当前第一条的编号是否是尾箱字段改为true
|
||||||
|
if (this.BillNos.Count != 0 && hasPart)
|
||||||
|
this.BillNos[0].IsTail = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
74
src/WMS.Web.Domain/Entitys/BoxMarkBillNo.cs
Normal file
74
src/WMS.Web.Domain/Entitys/BoxMarkBillNo.cs
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Text;
|
||||||
|
using WMS.Web.Core;
|
||||||
|
|
||||||
|
namespace WMS.Web.Domain.Entitys
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 箱唛表-编号表
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
[Table("t_wms_box_mark_billno")]
|
||||||
|
public class BoxMarkBillNo : EntityBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ID
|
||||||
|
/// </summary>
|
||||||
|
public override int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 上级ID
|
||||||
|
/// </summary>
|
||||||
|
public int Fid { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱唛编号
|
||||||
|
/// </summary>
|
||||||
|
public string BillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱唛编号-首位
|
||||||
|
/// </summary>
|
||||||
|
public int FirstBillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱唛编号-末尾序号
|
||||||
|
/// </summary>
|
||||||
|
public int LastBillNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否是尾箱
|
||||||
|
/// </summary>
|
||||||
|
public bool IsTail { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生成编号
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="firstBillNo"></param>
|
||||||
|
/// <param name="lastBillNo"></param>
|
||||||
|
public void GenerateBillNo(int firstBillNo, int lastBillNo)
|
||||||
|
{
|
||||||
|
this.FirstBillNo = Convert.ToInt32(DateTime.Now.ToString("yyMMdd"));
|
||||||
|
if (this.FirstBillNo == firstBillNo)
|
||||||
|
this.LastBillNo = lastBillNo + 1;
|
||||||
|
else
|
||||||
|
this.LastBillNo = 1;
|
||||||
|
|
||||||
|
if (this.LastBillNo.ToString().Length >= 5)
|
||||||
|
{
|
||||||
|
this.BillNo = "XM" + this.FirstBillNo + this.LastBillNo;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string lastStr = this.LastBillNo.ToString();
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
lastStr = "0" + lastStr;
|
||||||
|
if (lastStr.Length >= 5) break;
|
||||||
|
}
|
||||||
|
this.BillNo = "XM" + this.FirstBillNo + lastStr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,6 +19,6 @@ namespace WMS.Web.Domain.IService
|
|||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="loginInfo"></param>
|
/// <param name="loginInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<Result> Generate(GenerateBoxMarkDto dto, LoginInDto loginInfo);
|
Task<ResultList<BoxMarkQueryResponse>> Generate(GenerateBoxMarkDto dto, LoginInDto loginInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace WMS.Web.Domain.Infrastructure
|
|||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="isTransaction"></param>
|
/// <param name="isTransaction"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<bool> Add(BoxMark entity, bool isTransaction = true);
|
Task<BoxMark> Add(BoxMark entity, bool isTransaction = true);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 详情-根据最新的ID
|
/// 详情-根据最新的ID
|
||||||
@@ -34,6 +34,20 @@ namespace WMS.Web.Domain.Infrastructure
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<BoxMark> GetBy();
|
Task<BoxMark> GetBy();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 列表-详情信息列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <param name="companyId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<BoxMarkQueryResponse>> GetListInfoBy(int id, int companyId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取最新的编号实体
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<BoxMarkBillNo> GetLastBillNo();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 批量删除
|
/// 批量删除
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ namespace WMS.Web.Domain.Mappers
|
|||||||
public BoxMarkMapper()
|
public BoxMarkMapper()
|
||||||
{
|
{
|
||||||
CreateMap<GenerateBoxMarkDto, BoxMark>();
|
CreateMap<GenerateBoxMarkDto, BoxMark>();
|
||||||
|
|
||||||
|
CreateMap<BoxMark, BoxMark>()
|
||||||
|
.ForMember(x => x.BillNos, opt => opt.Ignore());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,26 +37,29 @@ namespace WMS.Web.Domain.Services
|
|||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="loginInfo"></param>
|
/// <param name="loginInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<Result> Generate(GenerateBoxMarkDto dto, LoginInDto loginInfo)
|
public async Task<ResultList<BoxMarkQueryResponse>> Generate(GenerateBoxMarkDto dto, LoginInDto loginInfo)
|
||||||
{
|
{
|
||||||
//1.获取最新的箱唛信息
|
//1.获取最新的箱唛信息
|
||||||
var entity_new = await _boxMarkRepositories.GetBy();
|
//var entity_new = await _boxMarkRepositories.GetBy();
|
||||||
|
var billNo_new = await _boxMarkRepositories.GetLastBillNo();
|
||||||
|
|
||||||
//2.dto映射实体
|
//2.dto映射实体
|
||||||
var entity = new BoxMark();
|
var entity = new BoxMark();
|
||||||
entity= _mapper.Map(dto, entity);
|
entity= _mapper.Map(dto, entity);
|
||||||
entity.Create(loginInfo.UserInfo.StaffId);
|
entity.Create(loginInfo.UserInfo.StaffId);
|
||||||
|
|
||||||
var new_firstBillNo = entity_new == null ? 0 : entity_new.FirstBillNo;
|
int new_firstBillNo = billNo_new == null ? 0 : billNo_new.FirstBillNo;
|
||||||
var new_lastBillNo = entity_new == null ? 0 : entity_new.LastBillNo;
|
int new_lastBillNo = billNo_new == null ? 0 : billNo_new.LastBillNo;
|
||||||
entity.GenerateBillNo(new_firstBillNo, new_lastBillNo);
|
entity.GenerateBillNo(new_firstBillNo, new_lastBillNo);
|
||||||
|
|
||||||
//添加
|
//添加
|
||||||
var isSuccess = await _boxMarkRepositories.Add(entity);
|
var model = await _boxMarkRepositories.Add(entity);
|
||||||
if (!isSuccess)
|
if (model==null)
|
||||||
return Result<InStockTask>.ReFailure(ResultCodes.DateWriteError);
|
return ResultList<BoxMarkQueryResponse>.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
|
||||||
return Result.ReSuccess();
|
//返回列表-对应刚刚生成的数据和编号集合
|
||||||
|
var list= await _boxMarkRepositories.GetListInfoBy(model.Id, loginInfo.UserInfo.CompanyId);
|
||||||
|
return ResultList<BoxMarkQueryResponse>.ReSuccess(list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,7 +71,11 @@ namespace WMS.Web.Repositories
|
|||||||
if (staffList != null)
|
if (staffList != null)
|
||||||
cr_ids = staffList.Where(w => w.Name.Contains(dto.Creator)).Select(s => s.Id).ToList();
|
cr_ids = staffList.Where(w => w.Name.Contains(dto.Creator)).Select(s => s.Id).ToList();
|
||||||
}
|
}
|
||||||
var query = _context.BoxMark.Where(adv => 1 == 1);
|
//var query = _context.BoxMark.Where(adv => 1 == 1);
|
||||||
|
var query = _context.BoxMarkBillNo
|
||||||
|
.GroupJoin(_context.BoxMark, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders })
|
||||||
|
.SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
|
||||||
|
.Where(adv => 1 == 1);
|
||||||
|
|
||||||
//编号查询
|
//编号查询
|
||||||
if (!string.IsNullOrEmpty(dto.BeginBillNo) &&
|
if (!string.IsNullOrEmpty(dto.BeginBillNo) &&
|
||||||
@@ -85,15 +89,15 @@ namespace WMS.Web.Repositories
|
|||||||
|
|
||||||
var begNo = Convert.ToInt32(dto.BeginBillNo.Substring(8));
|
var begNo = Convert.ToInt32(dto.BeginBillNo.Substring(8));
|
||||||
var endNo = Convert.ToInt32(dto.EndBillNo.Substring(8));
|
var endNo = Convert.ToInt32(dto.EndBillNo.Substring(8));
|
||||||
query = query.Where(w => w.FirstBillNo >= begYMD && w.FirstBillNo <= endYMD && w.LastBillNo >= begNo && w.LastBillNo <= endNo);
|
query = query.Where(w => w.detail.FirstBillNo >= begYMD && w.detail.FirstBillNo <= endYMD && w.detail.LastBillNo >= begNo && w.detail.LastBillNo <= endNo);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
query = query.Where(w => w.BillNo == dto.BeginBillNo || w.BillNo == dto.EndBillNo);
|
query = query.Where(w => w.detail.BillNo == dto.BeginBillNo || w.detail.BillNo == dto.EndBillNo);
|
||||||
}
|
}
|
||||||
else if (!string.IsNullOrEmpty(dto.BeginBillNo))
|
else if (!string.IsNullOrEmpty(dto.BeginBillNo))
|
||||||
query = query.Where(w => w.BillNo == dto.BeginBillNo);
|
query = query.Where(w => w.detail.BillNo == dto.BeginBillNo);
|
||||||
else if (!string.IsNullOrEmpty(dto.EndBillNo))
|
else if (!string.IsNullOrEmpty(dto.EndBillNo))
|
||||||
query = query.Where(w => w.BillNo == dto.EndBillNo);
|
query = query.Where(w => w.detail.BillNo == dto.EndBillNo);
|
||||||
|
|
||||||
|
|
||||||
//订单号查询
|
//订单号查询
|
||||||
@@ -103,7 +107,7 @@ namespace WMS.Web.Repositories
|
|||||||
var orderBillNoList = orderBNS.Split(",").Where(x => !string.IsNullOrEmpty(x)).ToList();
|
var orderBillNoList = orderBNS.Split(",").Where(x => !string.IsNullOrEmpty(x)).ToList();
|
||||||
if (orderBillNoList != null && orderBillNoList.Count != 0)
|
if (orderBillNoList != null && orderBillNoList.Count != 0)
|
||||||
{
|
{
|
||||||
query = query.Where(w => orderBillNoList.Contains(w.OrderBillNo));
|
query = query.Where(w => orderBillNoList.Contains(w.order.OrderBillNo));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,41 +117,42 @@ namespace WMS.Web.Repositories
|
|||||||
if (materials != null && materials.Count != 0)
|
if (materials != null && materials.Count != 0)
|
||||||
{
|
{
|
||||||
var mids = materials.Select(x => x.MaterialId).ToList();
|
var mids = materials.Select(x => x.MaterialId).ToList();
|
||||||
query = query.Where(w => mids.Contains(w.MaterialId));
|
query = query.Where(w => mids.Contains(w.order.MaterialId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cr_ids.Count != 0)
|
if (cr_ids.Count != 0)
|
||||||
query = query.Where(w => cr_ids.Contains(w.CreatorId));
|
query = query.Where(w => cr_ids.Contains(w.order.CreatorId));
|
||||||
|
|
||||||
if (dto.BeginDate != null)
|
if (dto.BeginDate != null)
|
||||||
query = query.Where(w => w.CreateTime.Date >= dto.BeginDate.Value);
|
query = query.Where(w => w.order.CreateTime.Date >= dto.BeginDate.Value);
|
||||||
if (dto.EndDate != null)
|
if (dto.EndDate != null)
|
||||||
query = query.Where(w => w.CreateTime.Date <= dto.EndDate.Value);
|
query = query.Where(w => w.order.CreateTime.Date <= dto.EndDate.Value);
|
||||||
|
|
||||||
int total = await query.CountAsync();
|
int total = await query.CountAsync();
|
||||||
var list = await query.Select(s => new BoxMarkQueryResponse()
|
var list = await query.Select(s => new BoxMarkQueryResponse()
|
||||||
{
|
{
|
||||||
Id = s.Id,
|
Id = s.order.Id,
|
||||||
BillNo = s.BillNo,
|
DetailId=s.detail.Id,
|
||||||
OrderBillNo = s.OrderBillNo,
|
BillNo = s.detail.BillNo,
|
||||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId),
|
OrderBillNo = s.order.OrderBillNo,
|
||||||
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId),
|
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.order.MaterialId),
|
||||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId),
|
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.order.MaterialId),
|
||||||
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialId),
|
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.order.MaterialId),
|
||||||
|
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.order.MaterialId),
|
||||||
|
|
||||||
CratingQty = s.CratingQty,
|
CratingQty = s.order.CratingQty,
|
||||||
CratingNetWeightQty = s.CratingNetWeightQty,
|
CratingNetWeightQty = s.order.CratingNetWeightQty,
|
||||||
CratingGrossWeightQty = s.CratingGrossWeightQty,
|
CratingGrossWeightQty = s.order.CratingGrossWeightQty,
|
||||||
|
|
||||||
TailboxQty = s.TailboxQty,
|
TailboxQty = s.order.TailboxQty,
|
||||||
TailboxNetWeightQty = s.TailboxNetWeightQty,
|
TailboxNetWeightQty = s.order.TailboxNetWeightQty,
|
||||||
TailboxGrossWeightQty = s.TailboxGrossWeightQty,
|
TailboxGrossWeightQty = s.order.TailboxGrossWeightQty,
|
||||||
|
|
||||||
Creator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.CreatorId),
|
Creator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.order.CreatorId),
|
||||||
CreateTime = s.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
CreateTime = s.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
Remark = s.Remark
|
Remark = s.order.Remark
|
||||||
}).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
|
}).OrderByDescending(x => x.DetailId).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
|
||||||
|
|
||||||
return (list, total);
|
return (list, total);
|
||||||
}
|
}
|
||||||
@@ -158,7 +163,7 @@ namespace WMS.Web.Repositories
|
|||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
/// <param name="isTransaction"></param>
|
/// <param name="isTransaction"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> Add(BoxMark entity, bool isTransaction = true)
|
public async Task<BoxMark> Add(BoxMark entity, bool isTransaction = true)
|
||||||
{
|
{
|
||||||
IDbContextTransaction _transaction = null;
|
IDbContextTransaction _transaction = null;
|
||||||
if (isTransaction)
|
if (isTransaction)
|
||||||
@@ -169,13 +174,13 @@ namespace WMS.Web.Repositories
|
|||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
if (_transaction != null)
|
if (_transaction != null)
|
||||||
_transaction.Commit();
|
_transaction.Commit();
|
||||||
return true;
|
return entity;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
if (_transaction != null)
|
if (_transaction != null)
|
||||||
_transaction.Rollback();
|
_transaction.Rollback();
|
||||||
return false;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -191,6 +196,59 @@ namespace WMS.Web.Repositories
|
|||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 列表-详情信息列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <param name="companyId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<List<BoxMarkQueryResponse>> GetListInfoBy(int id, int companyId)
|
||||||
|
{
|
||||||
|
//1.获取物料集合和组织集合和供应商的集合
|
||||||
|
var materials = new List<ErpMaterialDto>();
|
||||||
|
var materials_result = await _erpService.BillQueryForMaterial();
|
||||||
|
if (materials_result.IsSuccess)
|
||||||
|
materials = materials_result.Data.ToList();
|
||||||
|
|
||||||
|
var query = _context.BoxMarkBillNo
|
||||||
|
.GroupJoin(_context.BoxMark, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders })
|
||||||
|
.SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
|
||||||
|
.Where(adv => adv.order.Id == id);
|
||||||
|
var list = await query.Select(s => new BoxMarkQueryResponse()
|
||||||
|
{
|
||||||
|
Id = s.order.Id,
|
||||||
|
DetailId = s.detail.Id,
|
||||||
|
BillNo = s.detail.BillNo,
|
||||||
|
OrderBillNo = s.order.OrderBillNo,
|
||||||
|
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.order.MaterialId),
|
||||||
|
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.order.MaterialId),
|
||||||
|
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.order.MaterialId),
|
||||||
|
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.order.MaterialId),
|
||||||
|
CratingQty = s.order.CratingQty,
|
||||||
|
CratingNetWeightQty = s.order.CratingNetWeightQty,
|
||||||
|
CratingGrossWeightQty = s.order.CratingGrossWeightQty,
|
||||||
|
TailboxQty = s.order.TailboxQty,
|
||||||
|
TailboxNetWeightQty = s.order.TailboxNetWeightQty,
|
||||||
|
TailboxGrossWeightQty = s.order.TailboxGrossWeightQty,
|
||||||
|
Creator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.order.CreatorId),
|
||||||
|
CreateTime = s.order.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
|
Remark = s.order.Remark
|
||||||
|
}).OrderByDescending(x => x.DetailId).ToListAsync();
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 详情-根据最新的ID
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<BoxMarkBillNo> GetLastBillNo()
|
||||||
|
{
|
||||||
|
var entity = await _context.BoxMarkBillNo.OrderByDescending(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 批量删除
|
/// 批量删除
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -203,7 +261,7 @@ namespace WMS.Web.Repositories
|
|||||||
_transaction = _context.Database.BeginTransaction();
|
_transaction = _context.Database.BeginTransaction();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var list = await _context.BoxMark.Where(f => ids.Contains(f.Id)).ToListAsync();
|
var list = await _context.BoxMark.Include(x=>x.BillNos).Where(f => ids.Contains(f.Id)).ToListAsync();
|
||||||
_context.BoxMark.RemoveRange(list);
|
_context.BoxMark.RemoveRange(list);
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
|
|||||||
@@ -356,11 +356,24 @@ namespace WMS.Web.Repositories.Configuration
|
|||||||
{
|
{
|
||||||
ent.ToTable("t_wms_box_mark");
|
ent.ToTable("t_wms_box_mark");
|
||||||
ent.HasKey(x => x.Id);
|
ent.HasKey(x => x.Id);
|
||||||
|
|
||||||
|
ent.HasMany(p => p.BillNos)
|
||||||
|
.WithOne()
|
||||||
|
.HasForeignKey(p => p.Fid)
|
||||||
|
.OnDelete(DeleteBehavior.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
//箱唛表-编号表
|
||||||
|
builder.Entity<BoxMarkBillNo>(ent =>
|
||||||
|
{
|
||||||
|
ent.ToTable("t_wms_box_mark_billno");
|
||||||
|
ent.HasKey(x => x.Id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
base.OnModelCreating(builder);
|
base.OnModelCreating(builder);
|
||||||
}
|
}
|
||||||
|
public DbSet<BoxMarkBillNo> BoxMarkBillNo { get; set; }
|
||||||
public DbSet<BoxMark> BoxMark { get; set; }
|
public DbSet<BoxMark> BoxMark { get; set; }
|
||||||
public DbSet<FileDownManager> FileDownManager { get; set; }
|
public DbSet<FileDownManager> FileDownManager { get; set; }
|
||||||
public DbSet<SerialNumbers> SerialNumbers { get; set; }
|
public DbSet<SerialNumbers> SerialNumbers { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user