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(),
}
);
}