服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2025-03-09 218131c80ef5d3f11345dc78d170cfa3a6babb0f
雅达-添加调入单、杂收单和形态转换单审核功能

在 `WMS_U9C.CreateTransferIn.cs` 中添加了调入单提交和审核的 URL 属性及相关方法。
在 `WMS_U9C.cs` 中新增调入单审核和创建的接口声明。
在 `U9CParameter.cs` 中定义了调入单提交的输入参数结构。
在 `WMS_U9C.CreateMiscRcvTrans.cs` 和 `WMS_U9C.CreateMiscShip.cs` 中分别添加了杂收单和杂发单的审核逻辑。
在 `WMS_U9C.CreateTransferForm.cs` 中实现了形态转换单的创建和审核功能。
已修改4个文件
已添加3个文件
675 ■■■■■ 文件已修改
Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscRcvTrans.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscShip.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/WMS_U9C.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscRcvTrans.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
using Tiger.Model;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using Rhea.Common;
using System.Net;
using System.Linq;
using Newtonsoft.Json;
using Tiger.IBusiness;
using Microsoft.AspNetCore.Http;
using Tiger.Model.Minsun;
using Org.BouncyCastle.Asn1.Tsp;
using Tiger.Model.Entitys.MES.Position;
using Apache.NMS.ActiveMQ.Commands;
using System.Security.Cryptography;
using System.Diagnostics;
using Tiger.Model.Entitys.MES.U9C;
using Newtonsoft.Json.Linq;
using System.Security.Policy;
using NetTaste;
namespace Tiger.Business.WMS
{
    public partial class WMS_U9C
    {
        public static string MiscRcvTransApproveUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["MiscRcvTransApproveUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["MiscRcvTransApproveUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/MiscRcvTrans/Approve
        /// <summary>
        /// æ‚收单审核
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<List<U9CReturnData2>>> MiscRcvTransApprove(MiscRcvTransApproveInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入杂收单审核接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(MiscRcvTransApproveUrl, JsonConvert.SerializeObject(input.MiscRcvTransApproveParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"杂收单审核接口提交Json: {JsonConvert.SerializeObject(input.MiscRcvTransApproveParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"杂收单审核接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "杂收单审核异常");
            }
            Logger.Interface.Info($"/* æ‚收单审核接口结束 */\r\n"); //固定写法
            return action;
        }
    }
}
Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscShip.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
using Tiger.Model;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using Rhea.Common;
using System.Net;
using System.Linq;
using Newtonsoft.Json;
using Tiger.IBusiness;
using Microsoft.AspNetCore.Http;
using Tiger.Model.Minsun;
using Org.BouncyCastle.Asn1.Tsp;
using Tiger.Model.Entitys.MES.Position;
using Apache.NMS.ActiveMQ.Commands;
using System.Security.Cryptography;
using System.Diagnostics;
using Tiger.Model.Entitys.MES.U9C;
using Newtonsoft.Json.Linq;
using System.Security.Policy;
using NetTaste;
namespace Tiger.Business.WMS
{
    public partial class WMS_U9C
    {
        public static string CreateMiscShipApproveUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["CreateMiscShipApproveUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateMiscShipApproveUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/MiscShip/Approve
        /// <summary>
        /// æ‚发单审核
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<List<U9CReturnData2>>> MiscShipApprove(MiscShipApproveInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入杂发单审核接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(CreateMiscShipApproveUrl, JsonConvert.SerializeObject(input.MiscShipApproveParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"杂发单审核接口提交Json: {JsonConvert.SerializeObject(input.MiscShipApproveParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"杂发单审核接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "杂发单审核异常");
            }
            Logger.Interface.Info($"/* æ‚发单审核接口结束 */\r\n"); //固定写法
            return action;
        }
    }
}
Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,202 @@
using Tiger.Model;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using Rhea.Common;
using System.Net;
using System.Linq;
using Newtonsoft.Json;
using Tiger.IBusiness;
using Microsoft.AspNetCore.Http;
using Tiger.Model.Minsun;
using Org.BouncyCastle.Asn1.Tsp;
using Tiger.Model.Entitys.MES.Position;
using Apache.NMS.ActiveMQ.Commands;
using System.Security.Cryptography;
using System.Diagnostics;
using Tiger.Model.Entitys.MES.U9C;
using Newtonsoft.Json.Linq;
using System.Security.Policy;
using NetTaste;
namespace Tiger.Business.WMS
{
    public partial class WMS_U9C
    {
        public static string CreateTransferFormUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["CreateTransferFormUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateTransferFormUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferForm/Create
        public static string TransferFormSubmitUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["TransferFormSubmitUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["TransferFormSubmitUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferIn/Submit
        public static string TransferFormApproveUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["TransferFormApproveUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["TransferFormApproveUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferIn/Approve
        /// <summary>
        /// åˆ›å»ºå½¢æ€è½¬æ¢å•接口
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<List<U9CReturnData>>> CreateTransferForm(CreateTransferFormInput input) {
            Logger.Interface.Info($"/**\r\n *进入创建形态转换单接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(CreateTransferFormUrl, JsonConvert.SerializeObject(input.CreateTransferFormParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].m_isSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"创建形态转换单接口提交Json: {JsonConvert.SerializeObject(input.CreateTransferFormParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
                        Logger.Interface.Info($"创建形态转换单接口失败:{result.Data[0].m_errorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "创建形态转换单异常");
            }
            Logger.Interface.Info($"/* åˆ›å»ºå½¢æ€è½¬æ¢å•接口结束 */\r\n"); //固定写法
            return action;
        }
        /// <summary>
        /// å½¢æ€è½¬æ¢å•审核总入口接口
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<List<U9CReturnData2>>> TransferFormApprove(TransferFormSubmitInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入形态转换单审核总入口接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                action = await TransferSubmit(input);
                if (action.IsSuccessed)
                {
                    input.IsLogin = false;
                    action = await TransferApprove(input);
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "调入单审核异常");
            }
            Logger.Interface.Info($"/* å½¢æ€è½¬æ¢å•审核总入口接口结束 */\r\n"); //固定写法
            return action;
        }
        /// <summary>
        /// å½¢æ€è½¬æ¢å•提交
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task<ApiAction<List<U9CReturnData2>>> TransferSubmit(TransferFormSubmitInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入形态转换单提交接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(TransferFormSubmitUrl, JsonConvert.SerializeObject(input.TransferFormSubmitParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"形态转换单提交接口提交Json: {JsonConvert.SerializeObject(input.TransferFormSubmitParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"形态转换单提交接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "形态转换单提交异常");
            }
            Logger.Interface.Info($"/* å½¢æ€è½¬æ¢å•提交接口结束 */\r\n"); //固定写法
            return action;
        }
        /// <summary>
        /// å½¢æ€è½¬æ¢å•审核
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task<ApiAction<List<U9CReturnData2>>> TransferApprove(TransferFormSubmitInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入形态转换单审核接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(TransferFormApproveUrl, JsonConvert.SerializeObject(input.TransferFormSubmitParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"形态转换单审核接口提交Json: {JsonConvert.SerializeObject(input.TransferFormSubmitParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"形态转换单审核接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "形态转换单审核异常");
            }
            Logger.Interface.Info($"/* å½¢æ€è½¬æ¢å•审核接口结束 */\r\n"); //固定写法
            return action;
        }
    }
}
Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs
@@ -26,6 +26,11 @@
{
    public partial class WMS_U9C
    {
        public static string TransferInSubmitUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["TransferInSubmitUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["TransferInSubmitUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferIn/Submit
        public static string TransferInApproveUrl
        { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["TransferInApproveUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["TransferInApproveUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferIn/Approve
        /// <summary>
        /// åˆ›å»ºç”Ÿäº§é€€æ–™å•-按行退料接口
        /// </summary>
@@ -71,5 +76,125 @@
            Logger.Interface.Info($"/* åˆ›å»ºç”Ÿäº§é€€æ–™å•-按行退料接口结束 */\r\n"); //固定写法
            return action;
        }
        /// <summary>
        /// è°ƒå…¥å•审核总入口接口
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<List<U9CReturnData2>>> TransferInApprove(TransferInSubmitInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入调入单审核总入口接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                action = await Submit(input);
                if (action.IsSuccessed)
                {
                    input.IsLogin = false;
                    action = await Approve(input);
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "调入单审核异常");
            }
            Logger.Interface.Info($"/* è°ƒå…¥å•审核总入口接口结束 */\r\n"); //固定写法
            return action;
        }
        /// <summary>
        /// è°ƒå…¥å•提交
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task<ApiAction<List<U9CReturnData2>>> Submit(TransferInSubmitInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入调入单提交接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(TransferInSubmitUrl, JsonConvert.SerializeObject(input.TransferInSubmitParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"调入单提交接口提交Json: {JsonConvert.SerializeObject(input.TransferInSubmitParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"调入单提交接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "调入单提交异常");
            }
            Logger.Interface.Info($"/* è°ƒå…¥å•提交接口结束 */\r\n"); //固定写法
            return action;
        }
        /// <summary>
        /// è°ƒå…¥å•审核
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task<ApiAction<List<U9CReturnData2>>> Approve(TransferInSubmitInput input)
        {
            Logger.Interface.Info($"/**\r\n *进入调入单审核接口....\r\n */\r\n"); //固定写法
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(TransferInApproveUrl, JsonConvert.SerializeObject(input.TransferInSubmitParam), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        action.Data = result.Data;
                        Logger.Interface.Info($"调入单审核接口提交Json: {JsonConvert.SerializeObject(input.TransferInSubmitParam)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"调入单审核接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
            }
            catch (System.Exception ex)
            {
                action.CatchExceptionWithLog(ex, "调入单审核异常");
            }
            Logger.Interface.Info($"/* è°ƒå…¥å•审核接口结束 */\r\n"); //固定写法
            return action;
        }
    }
}
Tiger.Business.WMS/ERP/WMS_U9C.cs
@@ -182,32 +182,6 @@
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                //如果已经登录则不需要再次登录,直接使用传入的token
                if (input.IsLogin)
                {
                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
                    if (u9CLoginResult.Success)
                    {
                        input.token = u9CLoginResult.Data;
                        Logger.Interface.Info($"U9C登录token: {input.token}");
                    }
                }
                var response = await HttpHelper.PostAsync(ApproveLineUrl, JsonConvert.SerializeObject(input.param), new Dictionary<string, string>() { { "token", input.token } });
                var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                if (result != null)
                {
                    if (result.Success && result.Data[0].IsSucess)
                    {
                        Logger.Interface.Info($"收货单-行审核总入口接口提交Json: {JsonConvert.SerializeObject(input.param)},返回Json: {response.Message}");
                    }
                    else
                    {
                        action.IsSuccessed = false;
                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
                        Logger.Interface.Info($"收货单-行审核总入口接口失败:{result.Data[0].ErrorMsg}");
                    }
                }
                action = await SubmitLine(input);
                if (action.IsSuccessed) {
                    action = await ApproveLine(input);
Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs
@@ -18,5 +18,11 @@
        public Task<ApiAction<List<U9CReturnData>>> CreateProdReturnOrder(CreateProdReturnOrderInput input);
        public Task<ApiAction<List<U9CReturnData>>> CreateOutProdMaterialReq(CreateOutProdMaterialReqInput input);
        public Task<ApiAction<List<U9CReturnData>>> CreateOutProdReturnOrder(CreateOutProdReturnOrderInput input);
        public Task<ApiAction<List<U9CReturnData>>> CreateTransferForm(CreateTransferFormInput input);
        public Task<ApiAction<List<U9CReturnData2>>> TransferFormApprove(TransferFormSubmitInput input);
        public Task<ApiAction<List<U9CReturnData>>> CreateTransferIn(CreateTransferInInput input);
        public Task<ApiAction<List<U9CReturnData2>>> TransferInApprove(TransferInSubmitInput input);
        public Task<ApiAction<List<U9CReturnData2>>> MiscShipApprove(MiscShipApproveInput input);
        public Task<ApiAction<List<U9CReturnData2>>> MiscRcvTransApprove(MiscRcvTransApproveInput input);
    }
}
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -720,5 +720,163 @@
    }
    #endregion
    #region è°ƒå…¥å•审核
    public class TransferInSubmitInput : U9CBaseInput
    {
        public List<TransferInSubmitParam> TransferInSubmitParam { get; set; }
    }
    public class TransferInSubmitParam
    {
        /// <summary>
        /// é»˜è®¤"WMS"
        /// </summary>
        public string OtherID { get; set; } = "WMS";
        /// <summary>
        /// å•据编码
        /// </summary>
        public string Code { get; set; }
    }
    #endregion
    #region å½¢æ€è½¬æ¢å•
    public class CreateTransferFormInput : U9CBaseInput
    {
        public List<CreateTransferFormParam> CreateTransferFormParam { get; set; }
    }
    public class CreateTransferFormParam
    {
        /// <summary>
        /// é»˜è®¤"WMS"
        /// </summary>
        public string OtherID { get; set; } = "WMS";
        /// <summary>
        /// å•据类别:TransForm001 æ–™å“å½¢æ€è½¬æ¢ TransForm003 æ‰¹å·å½¢æ€è½¬æ¢
        /// </summary>
        public string TransferFormTransType_Code { get; set; }
        /// <summary>
        /// ä¸šåŠ¡æ—¶é—´
        /// </summary>
        public DateTime BussinessDate { get; set; }
        /// <summary>
        /// å½¢æ€è½¬æ¢è¡Œé›†åˆ
        /// </summary>
        public List<TransferFormLine> TransferFormLines { get; set; }
    }
    public class TransferFormLine : TransferFormBaseLine
    {
        /// <summary>
        /// è½¬æ¢ç±»åž‹0转换前 1转换后 é»˜è®¤ä¼ 0
        /// </summary>
        public int TransferType { get; set; } = 0;
        /// <summary>
        /// æˆæœ¬è”动默认传true
        /// </summary>
        public bool IsCostDependent { get; set; } = true;
        /// <summary>
        /// è½¬æ¢åŽæ•°æ®é›†åˆ
        /// </summary>
        public List<TransferFormSubLine> TransferFormSubLines { get; set; }
    }
    /// <summary>
    /// è½¬æ¢åŽæ•°æ®
    /// </summary>
    public class TransferFormSubLine : TransferFormBaseLine
    {
        /// <summary>
        /// è½¬æ¢ç±»åž‹0转换前 1转换后 é»˜è®¤ä¼ 1
        /// </summary>
        public int TransferType { get; set; } = 1;
    }
    public class TransferFormBaseLine
    {
        /// <summary>
        /// TransferFormLine中为转换前料号,TransferFormSubLine中为转换后料号
        /// </summary>
        public ItemEntity ItemInfo { get; set; }
        /// <summary>
        /// TransferFormLine中为转换前仓位,TransferFormSubLine中为转换后仓位
        /// </summary>
        public string Wh_Code { get; set; }
        /// <summary>
        /// TransferFormLine中为转换前库存数量,TransferFormSubLine中为转换后库存数量
        /// </summary>
        public double StoreUOMQty { get; set; }
        /// <summary>
        /// TransferFormLine中为转换前成本数量,TransferFormSubLine中为转换后成本数量
        /// </summary>
        public double CostUOMQty { get; set; }
        public int StorageType { get; set; } = 4;
        /// <summary>
        /// TransferFormLine中为转换前储位,TransferFormSubLine中为转换后储位
        /// </summary>
        public string BinInfo_Code { get; set; }
        /// <summary>
        /// TransferFormLine中为转换前批号,TransferFormSubLine中为转换后批号
        /// </summary>
        public string LotInfo_Code { get; set; }
    }
    public class TransferFormSubmitInput : U9CBaseInput
    {
        public List<TransferFormSubmitParam> TransferFormSubmitParam { get; set; }
    }
    public class TransferFormSubmitParam
    {
        /// <summary>
        /// é»˜è®¤"WMS"
        /// </summary>
        public string OtherID { get; set; } = "WMS";
        /// <summary>
        /// å•据编码
        /// </summary>
        public string Code { get; set; }
    }
    #endregion
    #region æ‚收单审核
    public class MiscRcvTransApproveInput : U9CBaseInput
    {
        public List<MiscRcvTransApproveParam> MiscRcvTransApproveParam { get; set; }
    }
    public class MiscRcvTransApproveParam
    {
        /// <summary>
        /// é»˜è®¤"WMS"
        /// </summary>
        public string OtherID { get; set; } = "WMS";
        /// <summary>
        /// å•据编码
        /// </summary>
        public string Code { get; set; }
    }
    #endregion
    #region æ‚发单审核
    public class MiscShipApproveInput : U9CBaseInput
    {
        public List<MiscShipApproveParam> MiscShipApproveParam { get; set; }
    }
    public class MiscShipApproveParam
    {
        /// <summary>
        /// é»˜è®¤"WMS"
        /// </summary>
        public string OtherID { get; set; } = "WMS";
        /// <summary>
        /// å•据编码
        /// </summary>
        public string Code { get; set; }
    }
    #endregion
}