diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 350faf9c..8bf4adc6 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -550,6 +550,21 @@
表单所在的子系统内码,字符串类型(非必录)
+
+
+ erp 提交和审核
+
+
+
+
+ 业务对象表单Id(必录)
+
+
+
+
+ 单据Id
+
+
下推
@@ -590,21 +605,6 @@
单据体
-
-
- erp 提交和审核
-
-
-
-
- 业务对象表单Id(必录)
-
-
-
-
- 单据Id
-
-
对应金蝶,物料信息
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 835ab409..fe023f34 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -2743,7 +2743,7 @@
-
+
同步数据(保存提交审核)
@@ -2751,6 +2751,38 @@
+
+
+ 提交
+
+
+
+
+
+
+
+ 审核
+
+
+
+
+
+
+
+ 反审核
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
下推
diff --git a/src/WMS.Web.Core/Dto/Erp/ErpSubmitDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs
similarity index 86%
rename from src/WMS.Web.Core/Dto/Erp/ErpSubmitDto.cs
rename to src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs
index 5c2c0653..746866fe 100644
--- a/src/WMS.Web.Core/Dto/Erp/ErpSubmitDto.cs
+++ b/src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs
@@ -8,9 +8,9 @@ namespace WMS.Web.Core.Dto.Erp
///
/// erp 提交和审核
///
- public class ErpSubmitDto
+ public class ErpOperateDto
{
- public ErpSubmitDto(string formId, string id)
+ public ErpOperateDto(string formId, string id)
{
this.FormId = formId;
this.Ids = id;
diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs
index 7453f060..d839c12d 100644
--- a/src/WMS.Web.Domain/IService/Public/IErpService.cs
+++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs
@@ -83,9 +83,16 @@ namespace WMS.Web.Domain.IService.Public
///
Task> BillQueryForSubStock(string code=null);
//同步数据(保存提交审核)
- Task Sync(T dto, string formId);
+ Task Save(T dto, string formId);
+ //提交
+ Task Submit(ErpOperateDto dto, string formId);
+ //审核
+ Task Audit(ErpOperateDto dto, string formId);
+ //反审核
+ Task NoAudit(ErpOperateDto dto, string formId);
+ //删除
+ Task Delete(ErpOperateDto dto, string formId);
//下推
Task Push(ErpPushDto dto);
-
}
}
diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs
index 3f4bb62b..04a60f76 100644
--- a/src/WMS.Web.Domain/Services/Public/ErpService.cs
+++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs
@@ -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;
@@ -607,13 +608,15 @@ namespace WMS.Web.Domain.Services.Public
return ResultList.ReFailure("错误", 10002);
}
}
+
+ #region 金蝶操作交互
///
/// 同步数据(保存提交审核)
///
///
///
///
- public async Task Sync(T dto, string formId)
+ public async Task Save(T dto, string formId)
{
try
{
@@ -625,15 +628,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);
+ }
+ }
+ ///
+ /// 提交
+ ///
+ ///
+ ///
+ ///
+ public async Task 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);
+ }
+ }
+ ///
+ /// 审核
+ ///
+ ///
+ ///
+ ///
+ public async Task 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);
+ }
+ }
+ ///
+ /// 反审核
+ ///
+ ///
+ ///
+ ///
+ public async Task 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);
+ }
+ }
+ ///
+ /// 删除
+ ///
+ ///
+ ///
+ ///
+ public async Task 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)
{
@@ -657,6 +788,7 @@ namespace WMS.Web.Domain.Services.Public
return Result.ReSuccess();
}
+ #endregion
#region 出库
public async Task> BillQueryForDeliveryNoticeOutStock(List sourceBillNos = null, DateTime? beginTime = null)
@@ -1118,8 +1250,6 @@ namespace WMS.Web.Domain.Services.Public
}
}
-
-
#endregion
}
}
diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs
index 0665b3bc..8a082608 100644
--- a/src/WMS.Web.Domain/Services/TakeStockService.cs
+++ b/src/WMS.Web.Domain/Services/TakeStockService.cs
@@ -133,7 +133,7 @@ namespace WMS.Web.Domain.Services
};
#endregion
- var resSync = await _erpService.Sync(dto, FormIdParam.STK_StockCountGain.ToString());
+ var resSync = await _erpService.Save(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(dto, formId);
+ var resSync = await _erpService.Save(dto, formId);
entity.Sync(resSync.IsSuccess, resSync.Message);
await _takeStockRepositories.Edit(entity, true);
return res;