首页 新闻 搜索 专区 学院

求哪位大神解决下 在线等 asp.NET MVC

0
[待解决问题]

薪资扣罚登记表,增加计算出勤天数功能表CYMstMonthSalarydata的attssbts字段,计算当月的上月的出勤天数。

计算规则:根据考勤打卡明细数据,取最早的进最晚的出,统计时间超过4个小时,则计算1天出勤,否则为0天出勤。

把计算逻辑写到下面截图显示的方法上

 

if not exists(SELECT OBJECT_NAME (id )FROM sysobjects
WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0
and OBJECT_NAME (id)='CYMstMonthSalarydata')
create table dbo.CYMstMonthSalarydata(
     ID                    uniqueidentifier  not null primary key,--主键
     yejimodel            varchar(50)                        null,--使用业绩模式
     Staffid            uniqueidentifier                null,--
     IYear                int                              null,
     IMonth             int                             null,
     Status                int                                null,--0未发  1已发
     StaffName            varchar(50)                        null,
     Departid            uniqueidentifier                null,
     Departname            varchar(50)                        null,--归属部门
     BYeji                decimal(10,2)                    null,--普通业绩
     CYeji                decimal(10,2)                    null,--超额业绩
     Depyeji            decimal(10,2)                    null,--部门业绩
     Yeji                decimal(10,2)                    null,--业绩合计
      
     Huikuantotal        decimal(10,2)                    null,--本月回款合计
     jstotal            decimal(10,2)                    null,--本月应结回款合计

    --HR输入
     ysbts                decimal(10,2)                    null,--应上班天数(月天数-4,可调整)
     ssbts                decimal(10,2)                    null,--实上班天数(输入)
     attssbts            decimal(10,2)                    null,--实上班天数(计算)
     AttrKou            decimal(10,2)                    null,--出勤扣除
     Koukuan            decimal(10,2)                    null,--罚款    
     WebKoukuan            decimal(10,2)                    null,--网站及其他扣除
     AttrRemark            varchar(1000)                    null,
    --财务输入
     preqianyeji        decimal(10,2)                    null,--上月结欠业绩
     qianyeji            decimal(10,2)                    null,--结欠业绩
     qianyejiex            decimal(10,2)                    null,--未清结欠业绩  
     BaseSalary            decimal(10,2)                    null,--基本工资
     PositionSalary        decimal(10,2)                    null,--岗位津贴
     Persalary            decimal(10,2)                    null,--绩效津贴
     SalaryTotal        decimal(10,2)                    null,--薪资合计
     Yingfa                decimal(10,2)                    null,--业绩奖金
    
     TelKou                decimal(10,2)                    null,--话费扣除     
     shebao                decimal(10,2)                    null,--社保类个人扣除   
     YingfaSalary        decimal(10,2)                    null,--应发工资   
     tax                decimal(10,2)                    null,--个税  
     Shifa                decimal(10,2)                    null,--本月工资  
     Remark                varchar(100)                    null,--备注
     Handlestaff        uniqueidentifier                null,--发放处理人
     Handlestaffname    varchar(50)                        null,--发放处理人
     HandleDate            datetime                        null,--发放时间
     Laster                uniqueidentifier                     null,
     LastDate            datetime                             null,
     LasterName            varchar(100)                                , --创建者        
     BuildDate            datetime                                ,--创建日期
     Builder            uniqueidentifier                        , --创建人
     BuilderName        varchar(50)                                 --创建人姓名
)
exec CTYGenerateField 'CYMstMonthSalarydata'

程序员的故事的主页 程序员的故事 | 初学一级 | 园豆:2
提问于:2017-10-30 12:08
< >
分享
所有回答(1)
0

提供个思路供参考, 读取出全部的list, 对每个人,每天进行处理,每天的数据按照时间排序,取最大记录和最小记录然后进行相减,仅供参考,方法比较笨

Lionel Andrés Messi | 园豆:82 (初学一级) | 2017-10-31 13:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册