From 495cb1033c3294d9bf401f66f983451a62da4676 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 16 十一月 2021 12:48:27 +0800
Subject: [PATCH] 预发工资要扣除社保和个税

---
 zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs |  140 +++++++++++++++++++++++++---------------------
 1 files changed, 75 insertions(+), 65 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 3b24406..335cc97 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -1384,7 +1384,7 @@
                 hrSalaryDTO.Jiabangongzi = 0;
                 decimal shiyongqichuqintianshu = 0;
                 decimal shiyongqichuqinlv = 0;
-
+                decimal yingfaheji = 0;
 
 
                 decimal BasicPrice = 0;
@@ -3526,10 +3526,79 @@
                     }    
                 }
 
+                yingfaheji = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou + ((dianhuabutie - dianhuafei) <= 0 ? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo;
+
+
+                hrSalaryDTO.Yufagongzi = userList[i].advancewages;
+
+                if (userList[i].advancewages.HasValue && userList[i].advancewages.Value > 0)
+                {
+                    hrSalaryDTO.Yufagongziheji = 0;
+                    HrSalaryDTO hrSalaryDTOlast = _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.AddMonths(-1).Year, dateminkaoqin.AddMonths(-1).Month);
+                    if (hrSalaryDTOlast != null && hrSalaryDTOlast.Yufagongziheji.HasValue)
+                    {
+                        hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji;
+                    }
+
+                    if (hrSalaryDTO.Yufagongziheji > 0)
+                    {
+                        if (yingfaheji < (hrSalaryDTO.Yufagongzi+shebao- shebaokou))
+                        {
+                            hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi + shebao - shebaokou - yingfaheji);
+                            yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou);
+                        }
+                        else if (yingfaheji > (hrSalaryDTO.Yufagongzi + shebao - shebaokou))
+                        {
+                            if (hrSalaryDTO.Yufagongziheji >= (yingfaheji - (hrSalaryDTO.Yufagongzi + shebao - shebaokou)))
+                            {
+                                hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi + shebao - shebaokou) - yingfaheji);
+                                yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou);
+                            }
+                            else
+                            {
+                                yingfaheji -= hrSalaryDTO.Yufagongziheji.Value;
+                                hrSalaryDTO.Yufagongziheji = 0;
+                            }
+
+
+                        }
+
+                    }
+                    else if (hrSalaryDTO.Yufagongziheji == 0)
+                    {
+                        hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi + shebao - shebaokou) - yingfaheji);
+                        if (yingfaheji < (hrSalaryDTO.Yufagongzi + shebao - shebaokou))
+                        {
+                            yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou);
+                        }
+                    }
+                    else if (hrSalaryDTO.Yufagongziheji < 0)
+                    {
+                        if (yingfaheji < (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou))
+                        {
+                            if (-hrSalaryDTO.Yufagongziheji >= ((hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou) - yingfaheji))
+                            {
+                                hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou) - yingfaheji);
+                                yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou);
+                            }
+                            else
+                            {
+                                yingfaheji += hrSalaryDTO.Yufagongziheji.Value;
+                                hrSalaryDTO.Yufagongziheji = 0;
+                            }
+                        }
+
+                    }
+
+                }
 
 
 
-                yingnashuie = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao  + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou + ( (dianhuabutie - dianhuafei)<=0? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo - geshuiqizheng;
+
+
+
+
+                yingnashuie = yingfaheji - geshuiqizheng;
 
 
                 hrSalaryDTO.Geshui = 0;
@@ -3653,72 +3722,13 @@
                 }
                 decimal geshui = hrSalaryDTO.Geshui.HasValue ? hrSalaryDTO.Geshui.Value : 0;
 
-                hrSalaryDTO.Daozhanggongzi += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao  + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou - geshui + ((dianhuabutie - dianhuafei) <= 0 ? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo;
+
+                             
+                hrSalaryDTO.Daozhanggongzi = yingfaheji - geshui;
 
 
 
-                hrSalaryDTO.Yufagongzi = userList[i].advancewages;
-
-                if (userList[i].advancewages.HasValue && userList[i].advancewages.Value>0)
-                {
-                    hrSalaryDTO.Yufagongziheji = 0;
-                    HrSalaryDTO hrSalaryDTOlast = _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.AddMonths(-1).Year, dateminkaoqin.AddMonths(-1).Month);
-                    if(hrSalaryDTOlast!=null && hrSalaryDTOlast.Yufagongziheji.HasValue)
-                    {
-                        hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji;
-                    }
-
-                    if (hrSalaryDTO.Yufagongziheji > 0)
-                    {
-                        if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
-                        {
-                            hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
-                            hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
-                        }
-                        else if (hrSalaryDTO.Daozhanggongzi > hrSalaryDTO.Yufagongzi)
-                        {
-                            if(hrSalaryDTO.Yufagongziheji>= (hrSalaryDTO.Daozhanggongzi - hrSalaryDTO.Yufagongzi))
-                            {
-                                hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
-                                hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
-                            }
-                            else
-                            {
-                                hrSalaryDTO.Daozhanggongzi -= hrSalaryDTO.Yufagongziheji;
-                                hrSalaryDTO.Yufagongziheji = 0;
-                            }
-
-                           
-                        }
-
-                    }
-                    else if (hrSalaryDTO.Yufagongziheji == 0)
-                    {
-                        hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
-                        if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
-                        {
-                            hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
-                        }
-                    }
-                    else if (hrSalaryDTO.Yufagongziheji < 0)
-                    {
-                        if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
-                        {
-                            if (-hrSalaryDTO.Yufagongziheji >= (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi))
-                            {
-                                hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
-                                hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
-                            }
-                            else
-                            {
-                                hrSalaryDTO.Daozhanggongzi += hrSalaryDTO.Yufagongziheji;
-                                hrSalaryDTO.Yufagongziheji = 0;
-                            }
-                        }
-                        
-                    }
-
-                }
+               
                 hrSalaryDTO.RecStatus = "A";
                 hrSalaryDTO.Islock = "D";
                 hrSalaryDTO.Creater = "1";

--
Gitblit v1.9.1