Commit 7724a15b by 陶然

优化

parent 892da3d6
...@@ -14,6 +14,20 @@ namespace Kivii.Finances.Entities ...@@ -14,6 +14,20 @@ namespace Kivii.Finances.Entities
{ {
#region 账户所有人,禁止更新 #region 账户所有人,禁止更新
[IgnoreUpdate] [IgnoreUpdate]
[DefaultEmptyGuid]
public Guid BizKvid { get; set; }
[ApiMember(Description = "业务流水号")]
[IgnoreUpdate]
[StringLength(200)]
public string BizId { get; set; }
[ApiMember(Description = "业务类型")]
[IgnoreUpdate]
[StringLength(100)]
public string BizType { get; set; }
[IgnoreUpdate]
[DefaultEmptyGuid, Required] [DefaultEmptyGuid, Required]
public Guid OwnerKvid { get; set; } public Guid OwnerKvid { get; set; }
......
using Kivii.DataAnnotations; using Kivii.DataAnnotations;
using System;
namespace Kivii.Finances.Entities namespace Kivii.Finances.Entities
{ {
...@@ -6,6 +7,22 @@ namespace Kivii.Finances.Entities ...@@ -6,6 +7,22 @@ namespace Kivii.Finances.Entities
[Alias(Configs.TableNameInvoiceTitle)] [Alias(Configs.TableNameInvoiceTitle)]
public class InvoiceTitle:Entity, IEntityInAssemblyDb public class InvoiceTitle:Entity, IEntityInAssemblyDb
{ {
#region 关联信息Biz 内部设置
[IgnoreUpdate]
[DefaultEmptyGuid]
public Guid BizKvid { get; set; }
[ApiMember(Description = "业务流水号")]
[IgnoreUpdate]
[StringLength(200)]
public string BizId { get; set; }
[ApiMember(Description = "业务类型")]
[IgnoreUpdate]
[StringLength(100)]
public string BizType { get; set; }
#endregion
[ApiMember(Description = "公司名称")] [ApiMember(Description = "公司名称")]
[StringLength(50), Required,Unique] [StringLength(50), Required,Unique]
public string CompanyName { get; set; } public string CompanyName { get; set; }
......
...@@ -31,14 +31,14 @@ ...@@ -31,14 +31,14 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Kivii.Common.V4.5, Version=5.6.2021.10200, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Kivii.Common.V4.5, Version=5.6.2022.4000, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Kivii.Common.5.6.2021.10200\lib\net45\Kivii.Common.V4.5.dll</HintPath> <HintPath>..\..\packages\Kivii.Common.5.6.2022.4000\lib\net45\Kivii.Common.V4.5.dll</HintPath>
</Reference> </Reference>
<Reference Include="Kivii.Core.V4.5, Version=5.6.2021.10200, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Kivii.Core.V4.5, Version=5.6.2022.4000, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Kivii.Core.5.6.2021.10200\lib\net45\Kivii.Core.V4.5.dll</HintPath> <HintPath>..\..\packages\Kivii.Core.5.6.2022.4000\lib\net45\Kivii.Core.V4.5.dll</HintPath>
</Reference> </Reference>
<Reference Include="Kivii.Linq.V4.5, Version=5.6.2021.10190, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="Kivii.Linq.V4.5, Version=5.6.2022.4011, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Kivii.Linq.5.6.2021.10190\lib\net45\Kivii.Linq.V4.5.dll</HintPath> <HintPath>..\..\packages\Kivii.Linq.5.6.2022.4011\lib\net45\Kivii.Linq.V4.5.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
...@@ -98,9 +98,6 @@ ...@@ -98,9 +98,6 @@
<Compile Include="Transforms\RestfulStatistic.cs" /> <Compile Include="Transforms\RestfulStatistic.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Content\codes\App.Const.Finances.js" /> <EmbeddedResource Include="Content\codes\App.Const.Finances.js" />
<EmbeddedResource Include="Content\codes\Classic.Control.Kivii.Finances.AccountDetail.List.js" /> <EmbeddedResource Include="Content\codes\Classic.Control.Kivii.Finances.AccountDetail.List.js" />
<EmbeddedResource Include="Content\codes\Classic.Control.Kivii.Finances.Bill.Form.js" /> <EmbeddedResource Include="Content\codes\Classic.Control.Kivii.Finances.Bill.Form.js" />
...@@ -212,5 +209,8 @@ ...@@ -212,5 +209,8 @@
<EmbeddedResource Include="Content\codet\Classic.View.Kivii.Finances.Statistic.Invoice.js" /> <EmbeddedResource Include="Content\codet\Classic.View.Kivii.Finances.Statistic.Invoice.js" />
<EmbeddedResource Include="Content\codet\Classic.View.Kivii.Finances.Statistic.Settlement.js" /> <EmbeddedResource Include="Content\codet\Classic.View.Kivii.Finances.Statistic.Settlement.js" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
\ No newline at end of file
...@@ -127,7 +127,10 @@ namespace Kivii.Finances.Transforms ...@@ -127,7 +127,10 @@ namespace Kivii.Finances.Transforms
public override bool OnPreRestfulDelete(IRequest req, IResponse res, IDbConnection dbConnection, IRestfulDeleteResponse<Bill> rtns) public override bool OnPreRestfulDelete(IRequest req, IResponse res, IDbConnection dbConnection, IRestfulDeleteResponse<Bill> rtns)
{ {
dbConnection.Exists<Bill>(o => Sql.In(o.Kvid, Kvids) && o.AmountPayment == o.Amount).ThrowIfTrue("此账单已归档付款登记,无法删除"); dbConnection.Exists<Bill>(o => Sql.In(o.Kvid, Kvids) && o.AmountPayment == o.Amount).ThrowIfTrue("此账单已归档付款登记,无法删除");
//if (dbConnection is LinqConnection && (dbConnection as LinqConnection).DbTransaction == null)
//{
_trans = dbConnection.OpenTransaction(); _trans = dbConnection.OpenTransaction();
//}
return base.OnPreRestfulDelete(req, res, dbConnection, rtns); return base.OnPreRestfulDelete(req, res, dbConnection, rtns);
} }
...@@ -138,11 +141,11 @@ namespace Kivii.Finances.Transforms ...@@ -138,11 +141,11 @@ namespace Kivii.Finances.Transforms
var deleteBillDetails = dbConnection.From<BillDetail>().Update(o => o.Status).Where(o => Sql.In(o.BillKvid, Kvids)); var deleteBillDetails = dbConnection.From<BillDetail>().Update(o => o.Status).Where(o => Sql.In(o.BillKvid, Kvids));
dbConnection.UpdateOnly<BillDetail>(new BillDetail { Status = -1 }, deleteBillDetails); dbConnection.UpdateOnly<BillDetail>(new BillDetail { Status = -1 }, deleteBillDetails);
_trans.Commit(); _trans?.Commit();
} }
catch (Exception ex) catch (Exception ex)
{ {
_trans.Rollback(); _trans?.Rollback();
throw ex; throw ex;
} }
return base.OnPostRestfulDelete(req, res, dbConnection, rtns); return base.OnPostRestfulDelete(req, res, dbConnection, rtns);
......
...@@ -34,15 +34,13 @@ namespace Kivii.Finances.Transforms ...@@ -34,15 +34,13 @@ namespace Kivii.Finances.Transforms
var typeCashs = Items.Where(o => o.Type == PaymentType.Cash).ToList(); var typeCashs = Items.Where(o => o.Type == PaymentType.Cash).ToList();
var typePoss = Items.Where(o => o.Type == PaymentType.Pos).ToList(); var typePoss = Items.Where(o => o.Type == PaymentType.Pos).ToList();
var serialNumbers = typeBanks.ConvertAll(o => o.SerialNumber); var serialNumbers = Items.ConvertAll(o => o.SerialNumber);
serialNumbers.AddRange(typeCashs.ConvertAll(o => o.SerialNumber));
serialNumbers.AddRange(typePoss.ConvertAll(o => o.SerialNumber));
serialNumbers.RemoveAll(o => o.IsNullOrEmpty()); serialNumbers.RemoveAll(o => o.IsNullOrEmpty());
var conn = KiviiContext.GetOpenedDbConnection<Payment>(); var conn = KiviiContext.GetOpenedDbConnection<Payment>();
var accountBalance = CurrencyUnit.CNY.GetBalanceAccount(); var accountBalance = CurrencyUnit.CNY.GetBalanceAccount();
var existPayments = conn.Select<Payment>(o => Sql.In(o.SerialNumber, serialNumbers)); List<Payment> existPayments = null;
if (!serialNumbers.IsNullOrEmpty()) existPayments = conn.Select<Payment>(o => Sql.In(o.SerialNumber, serialNumbers));
var allAccountDetails = new List<AccountDetail>(); var allAccountDetails = new List<AccountDetail>();
var allAcceptPayments = new List<Payment>(); var allAcceptPayments = new List<Payment>();
var allAcceptPays = new List<Pay>(); var allAcceptPays = new List<Pay>();
...@@ -52,11 +50,18 @@ namespace Kivii.Finances.Transforms ...@@ -52,11 +50,18 @@ namespace Kivii.Finances.Transforms
{ {
foreach (var item in typeBanks) foreach (var item in typeBanks)
{ {
#region 验证是否为重复项
if (!existPayments.IsNullOrEmpty()) if (!existPayments.IsNullOrEmpty())
{ {
var exist = existPayments.FirstOrDefault(o => o.SerialNumber == item.SerialNumber); var exist = existPayments.FirstOrDefault(o => o.SerialNumber == item.SerialNumber);
if (exist != null) continue; if (exist != null) continue;
} }
else
{
var exist = conn.Single<Payment>(o => o.PayerName == item.PayerName && o.OperateTime == item.OperateTime && o.Amount == item.Amount && o.RootKvid == o.Kvid);
if (exist != null) continue;
}
#endregion
if (item.Amount <= 0) continue; if (item.Amount <= 0) continue;
//Account account = null; //Account account = null;
//if (item.PayerAccountKvid != Guid.Empty) account = accounts.FirstOrDefault(o => o.Kvid == item.PayerAccountKvid); //if (item.PayerAccountKvid != Guid.Empty) account = accounts.FirstOrDefault(o => o.Kvid == item.PayerAccountKvid);
...@@ -98,11 +103,18 @@ namespace Kivii.Finances.Transforms ...@@ -98,11 +103,18 @@ namespace Kivii.Finances.Transforms
if (cashAccount == null) throw new Exception("未找到当前登录人的现金账户!"); if (cashAccount == null) throw new Exception("未找到当前登录人的现金账户!");
foreach (var item in typeCashs) foreach (var item in typeCashs)
{ {
#region 验证是否为重复项
if (!existPayments.IsNullOrEmpty()) if (!existPayments.IsNullOrEmpty())
{ {
var exist = existPayments.FirstOrDefault(o => o.SerialNumber == item.SerialNumber); var exist = existPayments.FirstOrDefault(o => o.SerialNumber == item.SerialNumber);
if (exist != null) continue; if (exist != null) continue;
} }
else
{
var exist = conn.Single<Payment>(o => o.PayerName == item.PayerName && o.OperateTime == item.OperateTime && o.Amount == item.Amount && o.RootKvid == o.Kvid);
if (exist != null) continue;
}
#endregion
if (item.Amount <= 0) continue; if (item.Amount <= 0) continue;
var itemKvid = Guid.NewGuid(); var itemKvid = Guid.NewGuid();
item.AmountInvoice = 0; item.AmountInvoice = 0;
...@@ -139,11 +151,18 @@ namespace Kivii.Finances.Transforms ...@@ -139,11 +151,18 @@ namespace Kivii.Finances.Transforms
if (posAccount == null) throw new Exception("未找到当前登录人的刷卡账户!"); if (posAccount == null) throw new Exception("未找到当前登录人的刷卡账户!");
foreach (var item in typePoss) foreach (var item in typePoss)
{ {
#region 验证是否为重复项
if (!existPayments.IsNullOrEmpty()) if (!existPayments.IsNullOrEmpty())
{ {
var exist = existPayments.FirstOrDefault(o => o.SerialNumber == item.SerialNumber); var exist = existPayments.FirstOrDefault(o => o.SerialNumber == item.SerialNumber);
if (exist != null) continue; if (exist != null) continue;
} }
else
{
var exist = conn.Single<Payment>(o => o.PayerName == item.PayerName && o.OperateTime == item.OperateTime && o.Amount == item.Amount && o.RootKvid == o.Kvid);
if (exist != null) continue;
}
#endregion
if (item.Amount <= 0) continue; if (item.Amount <= 0) continue;
var itemKvid = Guid.NewGuid(); var itemKvid = Guid.NewGuid();
item.AmountInvoice = 0; item.AmountInvoice = 0;
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Kivii.Common" version="5.6.2021.10200" targetFramework="net45" /> <package id="Kivii.Common" version="5.6.2022.4000" targetFramework="net45" />
<package id="Kivii.Core" version="5.6.2021.10200" targetFramework="net45" /> <package id="Kivii.Core" version="5.6.2022.4000" targetFramework="net45" />
<package id="Kivii.Linq" version="5.6.2021.10190" targetFramework="net45" /> <package id="Kivii.Linq" version="5.6.2022.4011" targetFramework="net45" />
</packages> </packages>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment