diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index fd52ca1d..36d92fc1 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -500,6 +500,51 @@
名称
+
+
+ erp:组装拆卸单-响应对象
+
+
+
+
+ 单据编号
+
+
+
+
+ 成品货主和子件货主
+
+
+
+
+ 物料ID
+
+
+
+
+ 仓库
+
+
+
+
+ 仓库编码
+
+
+
+
+ 数量
+
+
+
+
+ 创建日期
+
+
+
+
+ 备注
+
+
ERP:单据查询-dto
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 75bce319..fc150a61 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1988,6 +1988,20 @@
+
+
+ erp:单据查询-组装拆卸单-组装(成品入库)
+
+
+
+
+
+
+ erp:单据查询-组装拆卸单-拆卸(子件入库)
+
+
+
+
erp:单据查询-出库单
@@ -2996,6 +3010,20 @@
+
+
+ erp:单据查询-组装拆卸单-组装(成品入库)
+
+
+
+
+
+
+ erp:单据查询-组装拆卸单-拆卸(子件入库)
+
+
+
+
erp:单据查询-物料
@@ -3882,9 +3910,14 @@
装箱
-
+
- 移箱
+ 移箱上架
+
+
+
+
+ 移箱下架
diff --git a/src/WMS.Web.Core/Dto/Erp/ErpAssembledAppDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpAssembledAppDto.cs
new file mode 100644
index 00000000..66d783a9
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/Erp/ErpAssembledAppDto.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.Erp
+{
+ ///
+ /// erp:组装拆卸单-响应对象
+ ///
+ public class ErpAssembledAppDto
+ {
+ ///
+ /// 单据编号
+ ///
+ public string BillNo { get; set; }
+
+ ///
+ /// 成品货主和子件货主
+ ///
+ public int OrgId { get; set; }
+
+ ///
+ /// 物料ID
+ ///
+ public int MaterialId { get; set; }
+
+ ///
+ /// 仓库
+ ///
+ public int StockId { get; set; }
+
+ ///
+ /// 仓库编码
+ ///
+ public string StockCode { get; set; }
+
+ ///
+ /// 数量
+ ///
+ public decimal Qty { get; set; }
+
+ ///
+ /// 创建日期
+ ///
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs
index 6e66236d..86e7c5dd 100644
--- a/src/WMS.Web.Domain/IService/Public/IErpService.cs
+++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs
@@ -48,6 +48,20 @@ namespace WMS.Web.Domain.IService.Public
///
Task> BillQueryForTransferin(List sourceBillNos = null);
+ ///
+ /// erp:单据查询-组装拆卸单-组装(成品入库)
+ ///
+ ///
+ ///
+ Task> BillQueryForAssembledApp_Assembly(List sourceBillNos = null);
+
+ ///
+ /// erp:单据查询-组装拆卸单-拆卸(子件入库)
+ ///
+ ///
+ ///
+ Task> BillQueryForAssembledApp_Disassembly(List sourceBillNos = null);
+
///
/// erp:单据查询-出库单
///
diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs
index 95a12d38..9ac39bd0 100644
--- a/src/WMS.Web.Domain/Services/Public/ErpService.cs
+++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs
@@ -554,6 +554,212 @@ namespace WMS.Web.Domain.Services.Public
}
}
+ ///
+ /// erp:单据查询-组装拆卸单-组装(成品入库)
+ ///
+ ///
+ ///
+ public async Task> BillQueryForAssembledApp_Assembly(List sourceBillNos = null)
+ {
+ try
+ {
+
+ var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
+ if (stocks.Count == 0)
+ return ResultList.ReFailure(ResultCodes.ErpStockNoData);
+ var stocks_codes = stocks.Select(x => x.Code).ToList();
+
+
+ //1.先登录金蝶-拿到token
+ var token_result = await this.Init();
+ if (!token_result.IsSuccess)
+ return ResultList.ReFailure(token_result);
+
+ //2.时间条件:可能还有其它条件
+ var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
+ var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ //3.获取金蝶分步式入库订单:拼接参数和条件
+ var query = new ErpBillQueryDto(token_result.Data);
+ var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
+ param.FieldKeys = "FBillNo,FOwnerIdHead,FMaterialID,FStockID,FStockID.FNumber,FQty,FCreateDate,FDescription";
+ param.Limit = 10000;
+ //查询条件:备注其中的条件值以金蝶的值为准!!!
+ //1.创建时间在两天前和当天时间之间
+ //2.审核状态:已审核
+ //3.单据类型:标准组织拆卸单;备注:这里的单据类型只有一个,所以就不需要判断了
+ //4.事务类型:1为组装,2为拆卸
+ //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
+ param.FilterString = " FDocumentStatus='C' and FOwnerTypeIdHead=1";//
+ param.FilterString = param.FilterString + " and FStockID.FNumber in (";
+
+ var str = "";
+ int index = 0;
+ foreach (var scode in stocks_codes)
+ {
+ index++;
+ if (index == stocks_codes.Count)
+ str = str + $"'{scode}'";
+ else
+ str = str + $"'{scode}'" + ",";
+ }
+ param.FilterString = param.FilterString + str + ")";
+
+ //根据原订单号查询
+ if (sourceBillNos != null && sourceBillNos.Count() > 0)
+ {
+ param.FilterString = param.FilterString + " and FBillNo in (";
+
+ var bill_str = "";
+ int bill_index = 0;
+ //var srt_b = JsonConvert.SerializeObject(sourceBillNos);
+ foreach (var bill in sourceBillNos)
+ {
+ bill_index++;
+ if (bill_index == sourceBillNos.Count)
+ bill_str = bill_str + $"'{bill}'";
+ else
+ bill_str = bill_str + $"'{bill}'" + ",";
+ }
+ param.FilterString = param.FilterString + bill_str + ")";
+ }//注意:当有单据编号的查询的时候,时间条件去掉;不然就查不到数据了
+ else
+ {
+ param.FilterString = param.FilterString + " and FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "'";
+ }
+
+ query.Data = JsonConvert.SerializeObject(param);
+ var json = JsonConvert.SerializeObject(query);
+
+ //4.请求查询接口
+ var result_json = await _client.ExecuteBillQueryAsync(json);
+ var result = JsonConvert.DeserializeObject>>(result_json);
+
+ //5.返回数据的组装
+ var erp_list = new List();
+ foreach (var item in result)
+ {
+ var lis = new ErpAssembledAppDto();
+ lis.BillNo = item[0];
+ lis.OrgId = Convert.ToInt32(item[1]);
+ lis.MaterialId = Convert.ToInt32(item[2]);
+ lis.StockId = Convert.ToInt32(item[3]);
+ lis.StockCode = item[4];
+ lis.Qty = Convert.ToDecimal(item[5]);
+ lis.CreateTime = Convert.ToDateTime(item[6]);
+ lis.Remark = item[7];
+ erp_list.Add(lis);
+ }
+ return ResultList.ReSuccess(erp_list);
+ }
+ catch (Exception ex)
+ {
+ return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error);
+ }
+ }
+
+ ///
+ /// erp:单据查询-组装拆卸单-拆卸(子件入库)
+ ///
+ ///
+ ///
+ public async Task> BillQueryForAssembledApp_Disassembly(List sourceBillNos = null)
+ {
+ try
+ {
+
+ var stocks = await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId);
+ if (stocks.Count == 0)
+ return ResultList.ReFailure(ResultCodes.ErpStockNoData);
+ var stocks_codes = stocks.Select(x => x.Code).ToList();
+
+
+ //1.先登录金蝶-拿到token
+ var token_result = await this.Init();
+ if (!token_result.IsSuccess)
+ return ResultList.ReFailure(token_result);
+
+ //2.时间条件:可能还有其它条件
+ var beginTime = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd 00:00:00");
+ var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+ //3.获取金蝶分步式入库订单:拼接参数和条件
+ var query = new ErpBillQueryDto(token_result.Data);
+ var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
+ param.FieldKeys = "FBillNo,FSubProOwnerIdH,FMaterialID,FStockIDSETY,FStockIDSETY.FNumber,FQtySETY,FCreateDate,FDescriptionSETY";
+ param.Limit = 10000;
+ //查询条件:备注其中的条件值以金蝶的值为准!!!
+ //1.创建时间在两天前和当天时间之间
+ //2.审核状态:已审核
+ //3.单据类型:标准组织拆卸单;备注:这里的单据类型只有一个,所以就不需要判断了
+ //4.事务类型:1为组装,2为拆卸
+ //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步
+ param.FilterString = " FDocumentStatus='C' and FOwnerTypeIdHead=2";//
+ param.FilterString = param.FilterString + " and FStockIDSETY.FNumber in (";
+
+ var str = "";
+ int index = 0;
+ foreach (var scode in stocks_codes)
+ {
+ index++;
+ if (index == stocks_codes.Count)
+ str = str + $"'{scode}'";
+ else
+ str = str + $"'{scode}'" + ",";
+ }
+ param.FilterString = param.FilterString + str + ")";
+
+ //根据原订单号查询
+ if (sourceBillNos != null && sourceBillNos.Count() > 0)
+ {
+ param.FilterString = param.FilterString + " and FBillNo in (";
+
+ var bill_str = "";
+ int bill_index = 0;
+ //var srt_b = JsonConvert.SerializeObject(sourceBillNos);
+ foreach (var bill in sourceBillNos)
+ {
+ bill_index++;
+ if (bill_index == sourceBillNos.Count)
+ bill_str = bill_str + $"'{bill}'";
+ else
+ bill_str = bill_str + $"'{bill}'" + ",";
+ }
+ param.FilterString = param.FilterString + bill_str + ")";
+ }//注意:当有单据编号的查询的时候,时间条件去掉;不然就查不到数据了
+ else
+ {
+ param.FilterString = param.FilterString + " and FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "'";
+ }
+
+ query.Data = JsonConvert.SerializeObject(param);
+ var json = JsonConvert.SerializeObject(query);
+
+ //4.请求查询接口
+ var result_json = await _client.ExecuteBillQueryAsync(json);
+ var result = JsonConvert.DeserializeObject>>(result_json);
+
+ //5.返回数据的组装
+ var erp_list = new List();
+ foreach (var item in result)
+ {
+ var lis = new ErpAssembledAppDto();
+ lis.BillNo = item[0];
+ lis.OrgId = Convert.ToInt32(item[1]);
+ lis.MaterialId = Convert.ToInt32(item[2]);
+ lis.StockId = Convert.ToInt32(item[3]);
+ lis.StockCode = item[4];
+ lis.Qty = Convert.ToDecimal(item[5]);
+ lis.CreateTime = Convert.ToDateTime(item[6]);
+ lis.Remark = item[7];
+ erp_list.Add(lis);
+ }
+ return ResultList.ReSuccess(erp_list);
+ }
+ catch (Exception ex)
+ {
+ return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error);
+ }
+ }
+
///
/// erp:单据查询-物料
///