diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs index ac326d5..ceb7214 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs @@ -52,12 +52,12 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk /// /// 消费金额 /// - public string xfje { get; set; } + public decimal xfje { get; set; } /// /// 手工费用 /// - public string sgfy { get; set; } + public decimal sgfy { get; set; } /// /// 是否有科技部 @@ -82,12 +82,8 @@ namespace NCC.Extend.Entitys.Dto.LqXhHyhk /// /// 加班系数(NULL或0表示非加班单,大于0表示加班单,如 0.5、1、1.5) /// - public decimal? overtimeCoefficient { get; set; } + public decimal? overtimeCoefficient { get; set; } = 0; - /// - /// 原始手工费(用户输入的原始值) - /// - public decimal? originalSgfy { get; set; } /// /// 耗卡_品项明细 diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs index e54f94c..9e836c9 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs @@ -314,14 +314,11 @@ namespace NCC.Extend.LqXhHyhk entity.IsEffective = StatusEnum.有效.GetHashCode(); entity.UpdateTime = DateTime.Now; entity.OvertimeCoefficient = input.overtimeCoefficient ?? 0; - entity.OriginalSgfy = entity.Sgfy; - if (entity.OvertimeCoefficient > 0) - { - //加班手工费 = 原始手工费 * 加班系数 - entity.OvertimeSgfy = entity.OriginalSgfy * entity.OvertimeCoefficient; - //最终手工费 = 原始手工费 + 加班手工费 - entity.Sgfy = entity.OriginalSgfy + entity.OvertimeSgfy; - } + entity.OriginalSgfy = input.sgfy; + //加班手工费 = 原始手工费 * 加班系数 + entity.OvertimeSgfy = entity.OriginalSgfy * entity.OvertimeCoefficient; + //最终手工费 = 原始手工费 + 加班手工费 + entity.Sgfy = entity.OriginalSgfy + entity.OvertimeSgfy; try { // 开启事务 @@ -345,12 +342,16 @@ namespace NCC.Extend.LqXhHyhk BillingItemId = item.billingItemId, CreateTIme = DateTime.Now, MemberId = entity.Hy, - ProjectNumber = item.projectNumber ?? 1, + OriginalProjectNumber = item.projectNumber ?? 0, + OvertimeProjectNumber = (decimal)(entity.OvertimeCoefficient * (item.projectNumber ?? 0)), + ProjectNumber = (decimal)((item.projectNumber ?? 0) + (entity.OvertimeCoefficient * (item.projectNumber ?? 0))), TotalPrice = (decimal)(item.pxjg * (item.projectNumber ?? 1)), Px = item.px, Pxmc = item.pxmc, Pxjg = item.pxjg, SourceType = item.sourceType, + IsEffective = StatusEnum.有效.GetHashCode(), + }; allPxmxEntities.Add(lqXhPxmxEntity); @@ -372,7 +373,11 @@ namespace NCC.Extend.LqXhHyhk JsjId = ijks_tem.jsjId, Kdpxid = lqXhPxmxEntity.Id, LaborCost = ijks_tem.laborCost, - KdpxNumber = ijks_tem.kdpxNumber, + OriginalKdpxNumber = ijks_tem.kdpxNumber, + OvertimeKdpxNumber = (decimal)(entity.OvertimeCoefficient * (ijks_tem.kdpxNumber ?? 0)), + KdpxNumber = (decimal)((ijks_tem.kdpxNumber ?? 0) + (entity.OvertimeCoefficient * (ijks_tem.kdpxNumber ?? 0))), + IsEffective = StatusEnum.有效.GetHashCode(), + } ); } @@ -394,8 +399,13 @@ namespace NCC.Extend.LqXhHyhk Kjblsyj = ikjbs_tem.kjblsyj, Yjsj = DateTime.Now, Hkpxid = lqXhPxmxEntity.Id, - LaborCost = ikjbs_tem.laborCost, - HdpxNumber = ikjbs_tem.hdpxNumber, + OriginalHdpxNumber = ikjbs_tem.hdpxNumber, + OvertimeHdpxNumber = (decimal)(entity.OvertimeCoefficient * (ikjbs_tem.hdpxNumber ?? 0)), + HdpxNumber = (decimal)((ikjbs_tem.hdpxNumber ?? 0) + (entity.OvertimeCoefficient * (ikjbs_tem.hdpxNumber ?? 0))), + OriginalLaborCost = ikjbs_tem.laborCost, + OvertimeLaborCost = (decimal)(entity.OvertimeCoefficient * (ikjbs_tem.laborCost ?? 0)), + LaborCost = (decimal)((ikjbs_tem.laborCost ?? 0) + (entity.OvertimeCoefficient * (ikjbs_tem.laborCost ?? 0))), + IsEffective = StatusEnum.有效.GetHashCode(), } ); } @@ -588,6 +598,10 @@ namespace NCC.Extend.LqXhHyhk throw NCCException.Oh(ErrorCode.COM1005, "耗卡记录不存在或已作废"); } entity.UpdateTime = DateTime.Now; + entity.OvertimeCoefficient = input.overtimeCoefficient; + entity.OriginalSgfy = input.sgfy; + entity.OvertimeSgfy = (decimal)(entity.OvertimeCoefficient * input.sgfy); + entity.Sgfy = (decimal)(input.sgfy + (entity.OvertimeCoefficient * input.sgfy)); //更新会员耗卡记录 await _db.Updateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); @@ -612,12 +626,15 @@ namespace NCC.Extend.LqXhHyhk BillingItemId = item.billingItemId, CreateTIme = DateTime.Now, MemberId = entity.Hy, - ProjectNumber = item.projectNumber ?? 1, - TotalPrice = (decimal)(item.pxjg * (item.projectNumber ?? 1)), + TotalPrice = item.pxjg * (item.projectNumber ?? 1), Px = item.px, Pxmc = item.pxmc, Pxjg = item.pxjg, SourceType = item.sourceType, + IsEffective = StatusEnum.有效.GetHashCode(), + OriginalProjectNumber = item.projectNumber ?? 0, + OvertimeProjectNumber = (decimal)(entity.OvertimeCoefficient * (item.projectNumber ?? 0)), + ProjectNumber = (decimal)((item.projectNumber ?? 0) + (entity.OvertimeCoefficient * (item.projectNumber ?? 0))), }; allPxmxEntities.Add(lqXhPxmxEntity); @@ -639,7 +656,10 @@ namespace NCC.Extend.LqXhHyhk JsjId = ijks_tem.jsjId, Kdpxid = lqXhPxmxEntity.Id, LaborCost = ijks_tem.laborCost, - KdpxNumber = ijks_tem.kdpxNumber, + OriginalKdpxNumber = ijks_tem.kdpxNumber, + OvertimeKdpxNumber = (decimal)(entity.OvertimeCoefficient * (ijks_tem.kdpxNumber ?? 0)), + KdpxNumber = (decimal)((ijks_tem.kdpxNumber ?? 0) + (entity.OvertimeCoefficient * (ijks_tem.kdpxNumber ?? 0))), + IsEffective = StatusEnum.有效.GetHashCode(), } ); } @@ -661,8 +681,13 @@ namespace NCC.Extend.LqXhHyhk Kjblsyj = ikjbs_tem.kjblsyj, Yjsj = DateTime.Now, Hkpxid = lqXhPxmxEntity.Id, - LaborCost = ikjbs_tem.laborCost, - HdpxNumber = ikjbs_tem.hdpxNumber, + OriginalHdpxNumber = ikjbs_tem.hdpxNumber, + OvertimeHdpxNumber = (decimal)(entity.OvertimeCoefficient * (ikjbs_tem.hdpxNumber ?? 0)), + HdpxNumber = (decimal)((ikjbs_tem.hdpxNumber ?? 0) + (entity.OvertimeCoefficient * (ikjbs_tem.hdpxNumber ?? 0))), + OriginalLaborCost = ikjbs_tem.laborCost, + OvertimeLaborCost = (decimal)(entity.OvertimeCoefficient * (ikjbs_tem.laborCost ?? 0)), + LaborCost = (decimal)((ikjbs_tem.laborCost ?? 0) + (entity.OvertimeCoefficient * (ikjbs_tem.laborCost ?? 0))), + IsEffective = StatusEnum.有效.GetHashCode(), } ); }