Compare commits
10 Commits
1cd0c98969
...
b1c7e750c1
| Author | SHA1 | Date | |
|---|---|---|---|
| b1c7e750c1 | |||
| 32b851ac69 | |||
| 41ef8ff89b | |||
| e8e4992dbe | |||
| fdd9a20a16 | |||
| c862dd4930 | |||
| 75e3523652 | |||
| 4b1426b16b | |||
| b0da28a375 | |||
| 07c3efb853 |
@@ -1372,6 +1372,11 @@
|
||||
产品分组(3级)名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.Erp.ErpMaterialDto.FProductIDS">
|
||||
<summary>
|
||||
物料32进制
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Core.Dto.Erp.Org.ErpOrgDto">
|
||||
<summary>
|
||||
金蝶组织-基本信息
|
||||
@@ -6140,11 +6145,6 @@
|
||||
创建时间(出库时间)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SuccessSync">
|
||||
<summary>
|
||||
同步成功或者失败 null 就是未同步
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.OutStock.OutStockQueryInfoResponse.SourceBillNoList">
|
||||
<summary>
|
||||
来源单号(集合)
|
||||
|
||||
@@ -1579,6 +1579,11 @@
|
||||
产品分组(3级)名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.Materials.FProductIDS">
|
||||
<summary>
|
||||
物料32进制Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.MoveBoxRecord">
|
||||
<summary>
|
||||
wms移箱记录
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace WMS.Web.Core.Dto.Erp
|
||||
this.Id = id;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 单据Id
|
||||
/// </summary>
|
||||
|
||||
@@ -115,5 +115,11 @@ namespace WMS.Web.Core.Dto.Erp
|
||||
public string FMaterialGroupFName { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 物料32进制
|
||||
/// </summary>
|
||||
public string FProductIDS { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,11 +86,11 @@ namespace WMS.Web.Core.Dto.OutStock
|
||||
/// </summary>
|
||||
[Column("出库时间")]
|
||||
public string CreateTime { get; set; }
|
||||
/// <summary>
|
||||
/// 同步成功或者失败 null 就是未同步
|
||||
/// </summary>
|
||||
[Column("金蝶同步状态")]
|
||||
public string SuccessSync { get; set; }
|
||||
///// <summary>
|
||||
///// 同步成功或者失败 null 就是未同步
|
||||
///// </summary>
|
||||
//[Column("金蝶同步状态")]
|
||||
//public string SuccessSync { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 来源单号(集合)
|
||||
|
||||
@@ -161,9 +161,9 @@ namespace WMS.Web.Core.Dto.OutStockTask
|
||||
/// 是否作废
|
||||
///</summary>
|
||||
[Column("是否作废")]
|
||||
public bool IsRepeal { get; set; }
|
||||
|
||||
// public bool IsRepeal { get; set; }
|
||||
|
||||
public string IsRepeal { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,9 +102,16 @@ namespace WMS.Web.Domain.Entitys
|
||||
this.SuccessSync = SyncStatus.SyncIng;
|
||||
this.ErpDetails.ForEach(f => f.SuccessSync = SyncStatus.SyncIng);
|
||||
}
|
||||
else if (this.Type == InstockType.ProduceSotck)
|
||||
{
|
||||
this.SuccessSync = SyncStatus.SyncIng;
|
||||
this.ErpDetails.ForEach(f => f.SuccessSync = SyncStatus.SyncIng);
|
||||
}
|
||||
else//非采购订单,这里就没有记录erpdetails的数据了
|
||||
{
|
||||
this.SuccessSync = SyncStatus.Success;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 同步金蝶
|
||||
|
||||
@@ -103,6 +103,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
public string FMaterialGroupFName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料32进制Id
|
||||
/// </summary>
|
||||
public string FProductIDS { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,6 +24,9 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
Task<List<OutStockTask>> GetEntityList(List<int> ids);
|
||||
/// 查询实体集合
|
||||
Task<List<OutStockTask>> GetEntityListByStatus();
|
||||
Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers);
|
||||
Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber);
|
||||
|
||||
/// 查询实体集合(明细Id)
|
||||
Task<List<OutStockTask>> GetEntityListByDetailIds(List<int> ids);
|
||||
/// <summary>
|
||||
|
||||
@@ -707,8 +707,16 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
string hadsavel = "";
|
||||
foreach (var s in d.SerialNumberList)
|
||||
{
|
||||
//先跟据条码查询对应的
|
||||
List<string> l= new List<string>();
|
||||
l.Add(s.ToString());
|
||||
|
||||
var serialNumbers = await _outStockTaskRepositories.GetEntityList(l);
|
||||
// hadsavel = hadsavel + serialNumbers[0].TwoSerialNumber;
|
||||
list.Add(new ExportInfoResponse()
|
||||
{
|
||||
SourceBillNo = response.SourceBillNo,
|
||||
@@ -725,15 +733,28 @@ namespace WMS.Web.Domain.Services
|
||||
BoxWide = d.BoxWide,
|
||||
BoxHigh = d.BoxHigh,
|
||||
BoxWeight = d.BoxWeight,
|
||||
SerialNumbers = s
|
||||
Qty = d.Qty,
|
||||
AccruedQty = d.AccruedQty,
|
||||
SerialNumbers = serialNumbers[0].TwoSerialNumber
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var list2 = list.GroupBy(p => new { p.SourceBillNo, p.SaleBillNo,p.ReceiptCustomer, p.CreateTime, p.BoxBillNo, p.Specifications, p.MaterialName, p.MaterialNumber, p.BarCode, p.IndexNumber, p.BoxLength, p.BoxWide, p.BoxHigh, p.BoxWeight, p.Qty, p.AccruedQty, p.SerialNumbers }) // Group by Name and Age properties
|
||||
.Select(g => g.First()) // Select the first item of each group (arbitrary choice)
|
||||
.ToList(); // Convert back to list if needed. If you only need the distinct items, you can skip this step.
|
||||
|
||||
// list.Distinct().ToList();
|
||||
|
||||
var _exportExcelService = scope.ServiceProvider.GetRequiredService<IExportExcelService>();
|
||||
await _exportExcelService.Export(list, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo);
|
||||
await _exportExcelService.Export(list2, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -1154,7 +1154,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶物料:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.BD_MATERIAL.ToString());
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE,FUseOrgId,FUseOrgId.FNumber,FIsBatchManage,FProductLines1,FProductCATs1,FMaterialGroup,F_Product,FModifyDate,FCreateDate,FProductLines1.FName,FProductCATs1.FName,FMaterialGroup.FName";
|
||||
param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FBaseUnitId,FBaseUnitId.FName,FBaseUnitId.FNumber,FBARCODE,FUseOrgId,FUseOrgId.FNumber,FIsBatchManage,FProductLines1,FProductCATs1,FMaterialGroup,F_Product,FModifyDate,FCreateDate,FProductLines1.FName,FProductCATs1.FName,FMaterialGroup.FName,FProductIDS";
|
||||
param.Limit = 10000;
|
||||
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
@@ -1214,6 +1214,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.FProductLines1FName=item[17];
|
||||
lis.FProductCATs1FName = item[18];
|
||||
lis.FMaterialGroupFName = item[19];
|
||||
lis.FProductIDS = item[20];
|
||||
|
||||
erp_materials_list.Add(lis);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace WMS.Web.Domain.Services
|
||||
//修改有更新的数据
|
||||
if (mats.Count != 0)
|
||||
{
|
||||
var isFModifyDateMatNumbs = mats.Where(x => x.FModifyDate>=DateTime.Now.AddDays(-10)).Select(x =>new { MaterialNumber= x.MaterialNumber, Specifications=x.Specifications }).ToList();
|
||||
var isFModifyDateMatNumbs = mats.Where(x => x.FModifyDate>=DateTime.Now.AddDays(-5)).Select(x =>new { MaterialNumber= x.MaterialNumber, Specifications=x.Specifications, MaterialName =x.MaterialName, BarCode =x.BarCode, OrgId = x.OrgId, FProductLines1 =x.FProductLines1 , FProductCATs1 =x.FProductCATs1 , FMaterialGroup =x.FMaterialGroup , F_Product =x.F_Product , FProductLines1FName =x.FProductLines1FName , FProductCATs1FName =x.FProductCATs1FName , FMaterialGroupFName =x.FMaterialGroupFName , MaterialId =x.MaterialId , FProductIDS =x.FProductIDS }).ToList();
|
||||
//
|
||||
|
||||
_logger.LogInformation("取到需要同步的金蝶修改物料规格yzh:" + isFModifyDateMatNumbs.Count+"个");
|
||||
@@ -112,9 +112,21 @@ namespace WMS.Web.Domain.Services
|
||||
// entity.Specifications = mats_result[];
|
||||
foreach (var mat in isFModifyDateMatNumbs)
|
||||
{
|
||||
if (entity.MaterialNumber== mat.MaterialNumber)
|
||||
if (entity.MaterialNumber== mat.MaterialNumber )
|
||||
{
|
||||
entity.Specifications = mat.Specifications;
|
||||
entity.MaterialName = mat.MaterialName;
|
||||
entity.BarCode = mat.BarCode;
|
||||
//entity.OrgId = mat.OrgId;
|
||||
entity.FProductLines1 = mat.FProductLines1;
|
||||
entity.FProductCATs1 = mat.FProductCATs1;
|
||||
entity.FMaterialGroup = mat.FMaterialGroup;
|
||||
entity.F_Product = mat.F_Product;
|
||||
entity.FProductLines1FName = mat.FProductLines1FName;
|
||||
entity.FProductCATs1FName = mat.FProductCATs1FName;
|
||||
entity.FMaterialGroupFName = mat.FMaterialGroupFName;
|
||||
entity.MaterialId = mat.MaterialId;
|
||||
entity.FProductIDS = mat.FProductIDS;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -403,7 +403,8 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
|
||||
|
||||
//序列号操作记录
|
||||
//
|
||||
//操作记录
|
||||
var res = await this.SerialNumberOperate(sList, false);
|
||||
//提交事务
|
||||
if (isTransaction)
|
||||
|
||||
@@ -108,6 +108,7 @@ namespace WMS.Web.Repositories
|
||||
var res = await query.FirstOrDefaultAsync();
|
||||
|
||||
return res.Clone();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -120,6 +121,7 @@ namespace WMS.Web.Repositories
|
||||
return numbers.Clone().Distinct().ToList();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取全部的物料编码
|
||||
/// </summary>
|
||||
|
||||
@@ -190,7 +190,7 @@ namespace WMS.Web.Repositories
|
||||
Type = s.order.Type.GetRemark(),
|
||||
Creator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.order.CreatorId),
|
||||
CreateTime = s.order.CreateTime.DateToStringSeconds(),
|
||||
SuccessSync = s.order.SuccessSync == SyncStatus.Success ? "成功" : (s.order.SuccessSync == SyncStatus.SyncIng ? "同步中" : "失败"),
|
||||
// SuccessSync = s.order.SuccessSync == SyncStatus.Success ? "成功" : (s.order.SuccessSync == SyncStatus.SyncIng ? "同步中" : "失败"),
|
||||
Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.order.StockCode + s.order.OrgCode),
|
||||
SourceBillNoList = s.detail.ErpDetails.Select(s => s.SourceBillNo).ToList(),
|
||||
SaleBillNoList = s.detail.ErpDetails.Select(s => s.SaleBillNo).ToList(),
|
||||
@@ -374,6 +374,37 @@ namespace WMS.Web.Repositories
|
||||
}
|
||||
return details;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号查询
|
||||
/// </summary>
|
||||
/// <param name="serialNumbers"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers)
|
||||
{
|
||||
var res = await _context.SerialNumbers
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
var res_c = res.Clone();
|
||||
|
||||
//var s_e = res.Select(s => s.SerialNumber).ToList();
|
||||
var s_e = res.Select(s => s.TwoSerialNumber).ToList();
|
||||
//在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
|
||||
var s_c = serialNumbers.Except(s_e);
|
||||
if (s_c.Count() > 0)
|
||||
{
|
||||
var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
|
||||
var r_o = await _context.SerialNumbers_Ops
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
|
||||
res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
|
||||
}
|
||||
|
||||
return res_c;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号搜索
|
||||
/// </summary>
|
||||
|
||||
@@ -375,7 +375,8 @@ namespace WMS.Web.Repositories
|
||||
AccruedQty = s.detail.AccruedQty,
|
||||
RealityQty = s.detail.RealityQty,
|
||||
CreateTime = s.order.CreateTime.DateToStringSeconds(),
|
||||
IsRepeal = s.detail.IsRepeal ?? false,
|
||||
// IsRepeal = s.detail.IsRepeal ?? false,
|
||||
IsRepeal = (bool)s.detail.IsRepeal ? "是" : "否",
|
||||
OperateTime = s.order.OperateTime.DateToStringSeconds(),
|
||||
Operator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.order.OperatorId ?? 0),
|
||||
OutStockTime = s.order.OutStockTime.DateToStringSeconds(),
|
||||
@@ -388,7 +389,7 @@ namespace WMS.Web.Repositories
|
||||
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
|
||||
ReceiptCustomer = s.order.Type == OutStockType.Sal
|
||||
? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId)
|
||||
: _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
|
||||
: (s.order.Type== OutStockType.PickingOut? "": _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId)),
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber),
|
||||
MaterialNumber = s.detail.MaterialNumber,
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber),
|
||||
@@ -620,6 +621,69 @@ namespace WMS.Web.Repositories
|
||||
return res.Clone();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号查询
|
||||
/// </summary>
|
||||
/// <param name="serialNumbers"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers)
|
||||
{
|
||||
var res = await _context.SerialNumbers
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
var res_c = res.Clone();
|
||||
|
||||
//var s_e = res.Select(s => s.SerialNumber).ToList();
|
||||
var s_e = res.Select(s => s.TwoSerialNumber).ToList();
|
||||
//在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
|
||||
var s_c = serialNumbers.Except(s_e);
|
||||
if (s_c.Count() > 0)
|
||||
{
|
||||
var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
|
||||
var r_o = await _context.SerialNumbers_Ops
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
|
||||
res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
|
||||
}
|
||||
|
||||
return res_c;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据套装码获取序列码
|
||||
/// </summary>
|
||||
/// <param name="boxIds"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber)
|
||||
{
|
||||
|
||||
return await _context.SerialNumbers.AsNoTracking()
|
||||
.Where(f => f.SerialNumber.Contains(suitNumber))
|
||||
.ToListAsync();
|
||||
|
||||
//var res = await _context.SerialNumbers
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
// .ToListAsync();
|
||||
//var res_c = res.Clone();
|
||||
|
||||
//var s_e = res.Select(s => s.SerialNumber).ToList();
|
||||
////在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
|
||||
//var s_c = serialNumbers.Except(s_e);
|
||||
//if (s_c.Count() > 0)
|
||||
//{
|
||||
// var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
|
||||
// var r_o = await _context.SerialNumbers_Ops
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
// .ToListAsync();
|
||||
|
||||
// res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
|
||||
//}
|
||||
|
||||
//return res_c;
|
||||
}
|
||||
|
||||
|
||||
public string GetInStock(List<string> codes, int companyId, string orgCode)
|
||||
{
|
||||
var list = codes.Where(w => w != null).ToList();
|
||||
|
||||
Reference in New Issue
Block a user