雷池测试

This commit is contained in:
qmj
2025-06-07 22:11:51 +08:00
parent 71ca541865
commit 68a6bbd27e
15 changed files with 626 additions and 134 deletions
@@ -11,6 +11,9 @@ using UFIDA.U8.Framework.Api.ControlObject.U8M;
namespace UFIDA.U8.Framework.Api.ControlObject.AP
{
/// <summary>
/// 票据管理(应收)
/// </summary>
public class NoteManageAR
{
/// <summary>
@@ -74,15 +77,11 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
//voucher.OneVoucherData = voucherData;
//voucher.objPub = clsPub;
clsPub.Conn.BeginTrans();
res.bSuccess = voucher.NoteCheck(voucherData, ref errMsg);
//res.bSuccess = voucher.VoucherHeadCheck(voucherData,true, ref errMsg);
if (!res.bSuccess)
{
clsPub.Conn.RollbackTrans();
//login.Connection.RollbackTrans();
res.message = "保存失败";
res.result = errMsg;
@@ -93,8 +92,6 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
if (!res.bSuccess)
{
clsPub.Conn.RollbackTrans();
//login.Connection.RollbackTrans();
res.message = "保存失败";
res.result = errMsg;
@@ -105,7 +102,9 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
var newInput = new Dictionary<string, object>()
{
{"cVouchID","0000000001"},
{ "dVouchDate", $"{login._vbLogin.CurDate:yyyy-MM-dd}" },
{ "cTypeName", "收款单" },
{ "cSSName", voucherData.cVouchTypeName },
{ "cexch_name", voucherData.cExch_Name },
{ "iAmount_f", voucherData.iAmount },
@@ -114,11 +113,15 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
{ "cBankAccount", voucherData.cPayBillAccount },
{ "cNoteNo", voucherData.CVouchId },
{ "cDepCode", voucherData.cDeptCode },
//{ "cDwCode", "03006" },
{ "iPayType", 0 },
{ "cPayType", "货款" },
{ "cDwCode", voucherData.cDwCode },
{ "cOperator", voucherData.CBill },
{ "cDigest", voucherData.cDigest },
{ "bStartFlag", voucher.m_bStartFlag },
{ "cVouchType", "48" },
{ "cAuthID", "00000001" },
{ "cCoVouchType", voucherData.cVouchType },
{ "cCoVouchID", voucherData.CVouchId },
{ "cFlag", voucherData.cFlag },
@@ -126,7 +129,12 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
{ "cPerson", voucherData.cPerson },
{ "cNatBank", voucherData.cReceiveBank },
{ "cNatBankAccount", voucherData.cReceiveAccount },
{ "cCode", voucher.getNoteKm(voucherData.cVouchType) }
//{ "cCode", voucher.getNoteKm(voucherData.cVouchType) },
{ "cCode", "" },
{ "iPayForOther", 0 },
{ "bFromBank", 0 },
{ "bToBank", 0 },
{ "bSure", 0 },
};
var bodys = new List<Dictionary<string, object>>();
@@ -136,6 +144,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
{"editprop","A"},
{"cMemo",voucherData.cDigest},
{"cCusVen",voucherData.cDwCode},
//{"cCusVen","03006"},
{"iAmt_f",voucherData.iAmount},
{"iAmt",voucherData.iAmount_Local},
{"cKm",voucher.getNoteKm(voucherData.cVouchType)},
@@ -143,8 +152,10 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
{"iRAmt",voucherData.iAmount_Local},
{"cDepCode",voucherData.cDeptCode},
{"cPersonCode",voucherData.cPerson},
{"iType",0},
{"cType","应收款"},
};
newInput["body"] = bodys;
bodys.Add(body);
@@ -165,17 +176,14 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
if (!res2.bSuccess)
{
clsPub.Conn.RollbackTrans();
//login.Connection.RollbackTrans();
res.message = "保存失败";
res.result = res2.message;
res.result = res2.result;
res.voucherCode = $"{voucherData.CVouchId}";
res.voucherId = $"{voucherData.CVouchId}";
return res;
}
clsPub.Conn.CommitTrans();
//login.Connection.CommitTrans();
res.message = "保存成功";
res.voucherCode = $"{voucherData.CVouchId}";
res.voucherId = $"{voucherData.CVouchId}";
@@ -19,13 +19,24 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
{
protected readonly ILog logInfo = LogManager.GetLogger("logInfo");
/// <summary>
/// 保存单据
/// </summary>
/// <param name="login"></param>
/// <param name="input"></param>
/// <param name="VouchClass"></param>
/// <param name="bGetCode"></param>
/// <param name="codeKey"></param>
/// <param name="bPrintDom"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> SaveVouch(BaseLogin login, Dictionary<string, object> input,string VouchClass,bool bGetCode=false,string codeKey="",bool bPrintDom=false)
{
try
{
var clsVouchFacade = $"UFAPBO.clsVouchFacade".GetComObject();
clsVouchFacade.Init(VouchClass, login._vbLogin, login.Connection);
clsVouchFacade.Init(VouchClass, login._vbLogin);
IXMLDOMDocument2 domHead = new DOMDocument();
IXMLDOMDocument2 domBody = new DOMDocument();
@@ -50,37 +61,39 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
throw new Exception("无法获取表体数据");
}
if (bGetCode)
{
var cardNum = "";
//if (bGetCode)
//{
// var cardNum = "";
switch (VouchClass)
{
case "收款单":
cardNum = "AR48";
break;
default:
break;
}
// switch (VouchClass)
// {
// case "收款单":
// cardNum = "AR48";
// break;
// default:
// break;
// }
var clsBillComponent = "UFBillComponent.clsBillComponent".GetComObject();
// //var clsBillComponent = "UFBillComponent.clsBillComponent".GetComObject();
if (!clsBillComponent.InitBill(login._vbLogin.UfDbName, cardNum))
{
throw new Exception("初始化单据编号组件失败");
}
// //if (!clsBillComponent.InitBill(login._vbLogin.UfDbName, cardNum))
// //{
// // throw new Exception("初始化单据编号组件失败");
// //}
var newCode = clsBillComponent.GetNumber(clsBillComponent.GetBillFormat());
// //var newCode = clsBillComponent.GetNumber(clsBillComponent.GetBillFormat());
logInfo.Debug($"获取新单号:{newCode}");
// var newCode = "0000000001";
if (!string.IsNullOrWhiteSpace(newCode))
{
CommonHelper.SetDomKeyValue(domHead, codeKey, newCode);
}
// logInfo.Debug($"获取新单号:{newCode}");
input[codeKey] = newCode;
}
// if (!string.IsNullOrWhiteSpace(newCode))
// {
// CommonHelper.SetDomKeyValue(domHead, codeKey, newCode);
// }
// input[codeKey] = newCode;
//}
logInfo.Debug("填充表体DOM...");
domBody = dictionarys.ToDocument2(domBody);
@@ -96,8 +109,6 @@ namespace UFIDA.U8.Framework.Api.ControlObject.AP
var res = new BaseResult<string>();
clsVouchFacade.bOutTrans = true;
res.bSuccess = clsVouchFacade.SaveVouch(domHead, domBody, ref errMsg);
if (!res.bSuccess)
@@ -23,7 +23,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.Common
/// <summary>
/// 日志组件
/// </summary>
private static readonly ILog logInfo = LogManager.GetLogger("logInfo");
private static readonly ILog _logInfo = LogManager.GetLogger("logInfo");
public static void SetPropValue(this PropertyInfo prop, object obj, object value)
{
@@ -574,7 +574,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.Common
}
catch (Exception ex)
{
logInfo.Debug($"字段:{def.FieldName}公式解析失败,公式结果:{calcFormula}");
_logInfo.Debug($"字段:{def.FieldName}公式解析失败,公式结果:{calcFormula}");
}
@@ -772,7 +772,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.Common
var strSql = $"SELECT {fieldName} AS ID FROM {tableName} WHERE {cDefWhere} AND {codeName}='{cVoucherCode}'";
logInfo.Debug($"查询ID:{strSql}");
_logInfo.Debug($"查询ID:{strSql}");
var rst = new Recordset();
@@ -789,6 +789,45 @@ namespace UFIDA.U8.Framework.Api.ControlObject.Common
}
/// <summary>
/// 获取事件ID
/// </summary>
/// <param name="conn">连接对象</param>
/// <param name="cCardNum">单据类型编码</param>
/// <param name="eventId">事件Id</param>
/// <returns></returns>
/// <exception cref="ArgumentNullException"></exception>
public static string GetEventId(Connection conn, string cCardNum,string eventId,bool bUAP =false)
{
if (conn == null) throw new ArgumentNullException(nameof(conn));
if (cCardNum == null) throw new ArgumentNullException(nameof(cCardNum));
var sCardNum = cCardNum;
if (bUAP)
{
sCardNum = $"UAPFORM.{sCardNum}";
}
var strSql = $"SELECT cBizEventId FROM dbo.AuditBizEvents WHERE cBizObjectId='{sCardNum}' AND cBizEventId='{cCardNum}.{eventId}'";
_logInfo.Debug($"查询对象事件:{strSql}");
var rst = new Recordset();
rst.Open(strSql, conn);
if (rst.BOF || rst.EOF)
{
throw new Exception($"没有查询到对象ID为{cCardNum}的单据");
}
var voucherId = rst.Fields["cBizEventId"].Value;
return voucherId;
}
public static string GetVoucherWhereSqlByCode(VouchersInfo vouchers,string cVoucherCode)
{
var tableName = vouchers.cBTTblName;
@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UFIDA.U8.Framework.Api.ControlObject.Entity
{
public class AuditBizEvents
{
}
}
@@ -0,0 +1,46 @@
using log4net;
using MSXML2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UFGeneralFilterOCX;
using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.PU;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
namespace UFIDA.U8.Framework.Api.ControlObject.SA
{
/// <summary>
/// 销售管理
/// </summary>
public class ClsVoucherCO_SA
{
protected readonly ILog logInfo = LogManager.GetLogger("logInfo");
public async Task<BaseResult<string>> Save(BaseLogin baseLogin, Dictionary<string, object> dictionary, string cardNumber, string VoucherState, bool bGetCode = false, string codeKey = null, bool bAudit = false, bool iswfcontrolled = false, string cFlowFieldName = "IsWfControlled")
{
try
{
var errorMsg = "";
logInfo.Debug("开始输出登录信息");
logInfo.Debug(baseLogin._vbLogin.userToken);
var co = InitCo(baseLogin, enmVoucherType, bPositive, sBillType, sBusType, UserMode, sOverDetailsXml);
IXMLDOMDocument2 domHead = new DOMDocument();
IXMLDOMDocument2 domBody = new DOMDocument();
IXMLDOMDocument2 domCur = new DOMDocument();
}
catch (Exception ex)
{
logInfo.Error(ex.Message, ex);
await Task.Delay(1);
return new BaseResult<string> { bSuccess = false, message = "保存失败", result = ex.Message };
}
}
}
}
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UFIDA.U8.Framework.Api.ControlObject.SA
{
public enum VoucherTypeSA
{
/// <summary>
/// 发货单蓝字
/// </summary>
DispatchBlue=9,
}
}
@@ -197,6 +197,7 @@
<Compile Include="Common\APARHelper.cs" />
<Compile Include="Common\BEHelper.cs" />
<Compile Include="Common\CommonHelper.cs" />
<Compile Include="Entity\AuditBizEvents.cs" />
<Compile Include="Entity\Exch.cs" />
<Compile Include="Entity\VouchersInfo.cs" />
<Compile Include="Json\JsonHelper.cs" />
@@ -207,6 +208,8 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PU\clsVoucherCO_PU.cs" />
<Compile Include="PU\UseMode.cs" />
<Compile Include="SA\ClsVoucherCO_SA.cs" />
<Compile Include="SA\VoucherTypeSA.cs" />
<Compile Include="ST\USERPCO.cs" />
<Compile Include="PU\vouchertype.cs" />
<Compile Include="U8M\BaseLogin.cs" />
@@ -1,9 +1,14 @@
using System;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
using log4net;
using UFIDA.U8.Audit.ServiceProxy;
using UFIDA.U8.Framework.Api.ControlObject.Common;
using UFIDA.U8.Framework.Api.ControlObject.Entity;
using UFIDA.U8.Framework.Api.ControlObject.U8M;
using UFSoft.U8.BO.BE;
using UFSoft.U8.Framework.LoginContext;
// ReSharper disable IdentifierTypo
namespace UFIDA.U8.Framework.Api.ControlObject.Workflow
@@ -13,7 +18,7 @@ namespace UFIDA.U8.Framework.Api.ControlObject.Workflow
/// </summary>
public class ServiceProxy
{
private readonly ILog _logInfo = LogManager.GetLogger("_logInfo");
private readonly ILog _logInfo = LogManager.GetLogger("logInfo");
/// <summary>
/// #是否启用审批流#
@@ -103,6 +108,102 @@ namespace UFIDA.U8.Framework.Api.ControlObject.Workflow
}
}
/// <summary>
/// #提交审批流#
/// </summary>
/// <param name="login"></param>
/// <param name="cCardNum"></param>
/// <param name="eventId"></param>
/// <param name="voucherCode"></param>
/// <param name="bUAP"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> SubmitApplicationMessage(BaseLogin login, string cCardNum, string eventId, string voucherCode, bool bUAP = false)
{
var voucherId = "";
try
{
var vouchers = CommonHelper.GetVouchers(login.Connection, cCardNum);
voucherId = $"{CommonHelper.GetVoucherId(login.Connection, voucherCode, vouchers)}";
var bizObjectId = cCardNum;
if (bUAP)
{
bizObjectId = $"UAPFORM.{bizObjectId}";
}
eventId = $"{cCardNum}.{eventId}";
return await SubmitApplicationMessage(login, bizObjectId, eventId, voucherId, voucherCode);
}
catch (Exception ex)
{
_logInfo.Error($"审批流异常:{ex.Message}", ex);
await Task.Delay(1);
return new BaseResult<string>
{
bSuccess = false,
message = "提交失败",
voucherCode = voucherCode,
voucherId = voucherId,
result = ex.Message
};
}
}
/// <summary>
/// #提交审批流#
/// </summary>
/// <param name="login"></param>
/// <param name="cCardNum"></param>
/// <param name="eventId"></param>
/// <param name="voucherId"></param>
/// <param name="bUAP"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<BaseResult<string>> SubmitApplicationMessage(BaseLogin login, string cCardNum, string eventId, object voucherId, bool bUAP = false)
{
var voucherCode = "";
try
{
var vouchers = CommonHelper.GetVouchers(login.Connection, cCardNum);
voucherCode = $"{CommonHelper.GetVoucherCode(login.Connection, voucherId, vouchers)}";
var bizObjectId = cCardNum;
if (bUAP)
{
bizObjectId = $"UAPFORM.{bizObjectId}";
}
eventId = $"{cCardNum}.{eventId}";
return await SubmitApplicationMessage(login, bizObjectId, eventId,$"{voucherId}" , voucherCode);
}
catch (Exception ex)
{
_logInfo.Error($"审批流异常:{ex.Message}", ex);
await Task.Delay(1);
return new BaseResult<string>
{
bSuccess = false,
message = "提交失败",
voucherCode = voucherCode,
voucherId = $"{voucherId}",
result = ex.Message
};
}
}
/// <summary>
/// #单据审核#
/// </summary>