erp-其他入库单

This commit is contained in:
tongfei
2023-11-10 16:43:09 +08:00
10 changed files with 225 additions and 74 deletions

View File

@@ -550,54 +550,19 @@
表单所在的子系统内码,字符串类型(非必录)
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto">
<member name="T:WMS.Web.Core.Dto.Erp.ErpOperateDto">
<summary>
erp:其他入库单
erp 提交和审核
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.Id">
<member name="P:WMS.Web.Core.Dto.Erp.ErpOperateDto.FormId">
<summary>
id
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.BillNo">
<member name="P:WMS.Web.Core.Dto.Erp.ErpOperateDto.Ids">
<summary>
单据编号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.StockOrgId">
<summary>
库存组织
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.MaterialId">
<summary>
物料ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.StockId">
<summary>
收货仓库ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.StockCode">
<summary>
收货仓库-code
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.Qty">
<summary>
实收数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpMiscellaneousDto.Remark">
<summary>
备注
单据Id
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpPushDto">
@@ -640,21 +605,6 @@
单据体
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpSubmitDto">
<summary>
erp 提交和审核
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSubmitDto.FormId">
<summary>
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpSubmitDto.Ids">
<summary>
单据Id
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpMaterialDto">
<summary>
对应金蝶,物料信息
@@ -735,6 +685,11 @@
收货客户
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpDeliveryNoticeOutStockResultDto.Erp_DetailId">
<summary>
对应金蝶单据明细id(销售出库同步金蝶下推使用)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpDeliveryNoticeOutStockResultDto.MaterialId">
<summary>
物料Id

View File

@@ -281,6 +281,11 @@
定时任务最新一次时间管理
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ErpOpsSyncDate.Id">
<summary>
主键 订单编号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.ErpOpsSyncDate.Type">
<summary>
同步类型
@@ -947,6 +952,11 @@
单据头Id
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.Erp_DetailId">
<summary>
对应金蝶单据明细id(销售出库同步金蝶下推使用)
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo">
<summary>
销售订单号
@@ -2763,7 +2773,7 @@
<param name="code"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Sync``1(``0,System.String)">
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Save``1(``0,System.String)">
<summary>
同步数据(保存提交审核)
</summary>
@@ -2771,6 +2781,38 @@
<param name="formId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Submit(WMS.Web.Core.Dto.Erp.ErpOperateDto,System.String)">
<summary>
提交
</summary>
<param name="dto"></param>
<param name="formId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Audit(WMS.Web.Core.Dto.Erp.ErpOperateDto,System.String)">
<summary>
审核
</summary>
<param name="dto"></param>
<param name="formId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.NoAudit(WMS.Web.Core.Dto.Erp.ErpOperateDto,System.String)">
<summary>
反审核
</summary>
<param name="dto"></param>
<param name="formId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Delete(WMS.Web.Core.Dto.Erp.ErpOperateDto,System.String)">
<summary>
删除
</summary>
<param name="dto"></param>
<param name="formId"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.Public.ErpService.Push(WMS.Web.Core.Dto.Erp.ErpPushDto)">
<summary>
下推

View File

@@ -8,9 +8,9 @@ namespace WMS.Web.Core.Dto.Erp
/// <summary>
/// erp 提交和审核
/// </summary>
public class ErpSubmitDto
public class ErpOperateDto
{
public ErpSubmitDto(string formId, string id)
public ErpOperateDto(string formId, string id)
{
this.FormId = formId;
this.Ids = id;

View File

@@ -26,6 +26,10 @@ namespace WMS.Web.Core.Dto.Erp.OutStock
///</summary>
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 对应金蝶单据明细id(销售出库同步金蝶下推使用)
/// </summary>
public int Erp_DetailId { get; set; } = 0;
/// <summary>
/// 物料Id
///</summary>
public int MaterialId { get; set; }

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using WMS.Web.Core;
using WMS.Web.Domain.Values;
namespace WMS.Web.Domain.Entitys
@@ -13,8 +14,13 @@ namespace WMS.Web.Domain.Entitys
/// </summary>
[Serializable]
[Table("t_wms_sync_date")]
public class ErpOpsSyncDate
public class ErpOpsSyncDate : EntityBase
{
/// <summary>
/// 主键 订单编号
/// </summary>
[Column("Id")]
public override int Id { get; set; }
/// <summary>
/// 同步类型
/// </summary>

View File

@@ -27,6 +27,11 @@ namespace WMS.Web.Domain.Entitys
[Column("Fid")]
public int Fid { get; set; }
/// <summary>
/// 对应金蝶单据明细id(销售出库同步金蝶下推使用)
/// </summary>
[Column("Erp_DetailId")]
public int Erp_DetailId { get; set; }
/// <summary>
/// 销售订单号
///</summary>
[Column("SaleBillNo")]

View File

@@ -97,9 +97,16 @@ namespace WMS.Web.Domain.IService.Public
/// <returns></returns>
Task<ResultList<ErpStockDto>> BillQueryForSubStock(string code=null);
//同步数据(保存提交审核)
Task<Result> Sync<T>(T dto, string formId);
Task<Result> Save<T>(T dto, string formId);
//提交
Task<Result> Submit(ErpOperateDto dto, string formId);
//审核
Task<Result> Audit(ErpOperateDto dto, string formId);
//反审核
Task<Result> NoAudit(ErpOperateDto dto, string formId);
//删除
Task<Result> Delete(ErpOperateDto dto, string formId);
//下推
Task<Result> Push(ErpPushDto dto);
}
}

View File

@@ -5,6 +5,7 @@ using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -758,13 +759,15 @@ namespace WMS.Web.Domain.Services.Public
return ResultList<ErpStockDto>.ReFailure("错误", 10002);
}
}
#region
/// <summary>
/// 同步数据(保存提交审核)
/// </summary>
/// <param name="dto"></param>
/// <param name="formId"></param>
/// <returns></returns>
public async Task<Result> Sync<T>(T dto, string formId)
public async Task<Result> Save<T>(T dto, string formId)
{
try
{
@@ -776,15 +779,143 @@ namespace WMS.Web.Domain.Services.Public
query.Data = JsonConvert.SerializeObject(param);
//保存
var result_json = await _client.SaveAsync(JsonConvert.SerializeObject(query));
JObject jobject = (JObject)JsonConvert.DeserializeObject(result_json);
var isSuccess = jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower();
if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true")
return Result.ReSuccess();
var msg = jobject["Result"]["ResponseStatus"]["Errors"]["Message"].ToString();
return Result.ReFailure(msg, 10002);
}
catch (Exception)
{
return Result.ReFailure("错误", 10002);
}
}
/// <summary>
/// 提交
/// </summary>
/// <param name="dto"></param>
/// <param name="formId"></param>
/// <returns></returns>
public async Task<Result> Submit(ErpOperateDto dto, string formId)
{
try
{
var token_result = await this.Init();
if (!token_result.IsSuccess)
return token_result;
var query = new ErpBillQueryDto(token_result.Data);
//提交
var sparam = new ErpSubmitDto(formId, "");
query.Data = JsonConvert.SerializeObject(sparam);
result_json = await _client.SubmitAsync(JsonConvert.SerializeObject(query));
//审核
result_json = await _client.AuditAsync(JsonConvert.SerializeObject(query));
query.Data = JsonConvert.SerializeObject(dto);
var result_json = await _client.SubmitAsync(JsonConvert.SerializeObject(query));
JObject jobject = (JObject)JsonConvert.DeserializeObject(result_json);
var isSuccess = jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower();
return Result.ReSuccess();
if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true")
return Result.ReSuccess();
var msg = jobject["Result"]["ResponseStatus"]["Errors"]["Message"].ToString();
return Result.ReFailure(msg, 10002);
}
catch (Exception)
{
return Result.ReFailure("错误", 10002);
}
}
/// <summary>
/// 审核
/// </summary>
/// <param name="dto"></param>
/// <param name="formId"></param>
/// <returns></returns>
public async Task<Result> Audit(ErpOperateDto dto, string formId)
{
try
{
var token_result = await this.Init();
if (!token_result.IsSuccess)
return token_result;
var query = new ErpBillQueryDto(token_result.Data);
//提交
query.Data = JsonConvert.SerializeObject(dto);
var result_json = await _client.AuditAsync(JsonConvert.SerializeObject(query));
JObject jobject = (JObject)JsonConvert.DeserializeObject(result_json);
var isSuccess = jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower();
if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true")
return Result.ReSuccess();
var msg = jobject["Result"]["ResponseStatus"]["Errors"]["Message"].ToString();
return Result.ReFailure(msg, 10002);
}
catch (Exception)
{
return Result.ReFailure("错误", 10002);
}
}
/// <summary>
/// 反审核
/// </summary>
/// <param name="dto"></param>
/// <param name="formId"></param>
/// <returns></returns>
public async Task<Result> NoAudit(ErpOperateDto dto, string formId)
{
try
{
var token_result = await this.Init();
if (!token_result.IsSuccess)
return token_result;
var query = new ErpBillQueryDto(token_result.Data);
//提交
query.Data = JsonConvert.SerializeObject(dto);
var result_json = await _client.UnAuditAsync(JsonConvert.SerializeObject(query));
JObject jobject = (JObject)JsonConvert.DeserializeObject(result_json);
var isSuccess = jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower();
if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true")
return Result.ReSuccess();
var msg = jobject["Result"]["ResponseStatus"]["Errors"]["Message"].ToString();
return Result.ReFailure(msg, 10002);
}
catch (Exception)
{
return Result.ReFailure("错误", 10002);
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="dto"></param>
/// <param name="formId"></param>
/// <returns></returns>
public async Task<Result> Delete(ErpOperateDto dto, string formId)
{
try
{
var token_result = await this.Init();
if (!token_result.IsSuccess)
return token_result;
var query = new ErpBillQueryDto(token_result.Data);
//提交
query.Data = JsonConvert.SerializeObject(dto);
var result_json = await _client.DeleteAsync(JsonConvert.SerializeObject(query));
JObject jobject = (JObject)JsonConvert.DeserializeObject(result_json);
var isSuccess = jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower();
if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true")
return Result.ReSuccess();
var msg = jobject["Result"]["ResponseStatus"]["Errors"]["Message"].ToString();
return Result.ReFailure(msg, 10002);
}
catch (Exception)
{
@@ -808,6 +939,7 @@ namespace WMS.Web.Domain.Services.Public
return Result.ReSuccess();
}
#endregion
#region
public async Task<ResultList<ErpDeliveryNoticeOutStockResultDto>> BillQueryForDeliveryNoticeOutStock(List<string> sourceBillNos = null, DateTime? beginTime = null)
@@ -833,7 +965,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.SAL_DELIVERYNOTICE.ToString());
param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID,FStockID,FStockLocID,FQty,FNoteEntry,FCreateDate";
param.FieldKeys = "FBillNo,FOrderNo,FDeliveryOrgID,FCustomerID,FMaterialID,FStockID,FStockLocID,FQty,FNoteEntry,FCreateDate,FEntryID";
param.Limit = 10;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -874,6 +1006,7 @@ namespace WMS.Web.Domain.Services.Public
lis.Remark = item[8];
lis.CreateTime = Convert.ToDateTime(item[9]);
lis.Type = (int)OutStockType.Sal;
lis.Erp_DetailId = Convert.ToInt32(item[10]);
erp_list.Add(lis);
}
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
@@ -1269,8 +1402,6 @@ namespace WMS.Web.Domain.Services.Public
}
}
#endregion
}
}

View File

@@ -133,7 +133,7 @@ namespace WMS.Web.Domain.Services
};
#endregion
var resSync = await _erpService.Sync<ErpTakeStockSaveDto>(dto, FormIdParam.STK_StockCountGain.ToString());
var resSync = await _erpService.Save<ErpTakeStockSaveDto>(dto, FormIdParam.STK_StockCountGain.ToString());
entity.Sync(resSync.IsSuccess, resSync.Message);
await _takeStockRepositories.Edit(entity, true);
return res;
@@ -180,7 +180,7 @@ namespace WMS.Web.Domain.Services
#endregion
//判断盘盈盘亏
string formId = entity.ResultType == TakeStockType.Loss ? FormIdParam.STK_StockCountLoss.ToString() : FormIdParam.STK_StockCountGain.ToString();
var resSync = await _erpService.Sync<ErpTakeStockSaveDto>(dto, formId);
var resSync = await _erpService.Save<ErpTakeStockSaveDto>(dto, formId);
entity.Sync(resSync.IsSuccess, resSync.Message);
await _takeStockRepositories.Edit(entity, true);
return res;

View File

@@ -60,6 +60,7 @@ namespace WMS.Web.Repositories.Configuration
builder.Entity<ErpOpsSyncDate>(ent =>
{
ent.ToTable("t_wms_sync_date");
ent.HasKey(x => x.Id);
});