• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            socketref,再見!高德

            https://github.com/adoggie

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(54)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            啊關的企業在處理用友erp人事數據與稅務報稅時轉換數據時被停滯了,一個小時內完成他的需求
              1 # -*- coding:utf-8 -*-
              2 # soctt.bin created  2011.8.29
              3 # sw2us.com @2011 
              4 #
              5 
              6 import sys,os,os.path,time,struct,traceback,threading,datetime,string,datetime,calendar
              7 import xlrd
              8 
              9 start_year=0
             10 start_month= 0
             11 start_day =1 
             12 end_day = start_day 
             13 
             14 end_year= 0
             15 end_month = 0
             16 
             17 employee_importFile=u'111111111.XLS'
             18 tax_importFile=u'題橋工資格式.xls'
             19 
             20 employee_exportFile=u'empolyees.txt'
             21 tax_exportFile=u'personTax.txt'
             22 employeelistfile='employee_simplelist.txt'
             23 
             24 fixDeduct = 2000.00 #扣除額
             25 
             26 #人員歸檔
             27 def employeeAchive():
             28     title = u'工號~~姓名~~證件類型~~證件號~~性別~~出生日期~~國家、地區~~開票標志~~申報方式~~職務~~地址~~含稅標志~~郵政編碼~~調入調離~~備注'
             29     #rowfmt = u"%s~~ %s~~  1       ~~%s    ~~0   ~~%s      ~~142       ~~1       ~~0       ~~    ~~    ~~1       ~~        ~~0       ~~0"
             30     rowfmt = u"%s~~ %s~~  1       ~~%s    ~~0   ~~%s      ~~142       ~~1       ~~0       ~~    ~~    ~~1       ~~        ~~0       ~~0"
             31     rowfmt = rowfmt.replace(' ','')
             32     
             33     wb = xlrd.open_workbook(employee_importFile) 
             34     sh = wb.sheet_by_index(0)
             35     file = open(employee_exportFile,'w')
             36     title = title.encode('gbk')
             37     file.write(title)
             38     file.write('\n')
             39     
             40     file2 = open(employeelistfile,'w'#清單表2
             41     for r in range(1,sh.nrows):
             42         v = sh.row_values(r)
             43         v = map(string.strip,v)
             44         
             45         
             46         birth = ''
             47         try:
             48             y,m,d = v[4].split('-')
             49             birth = "%04d%02d%02d"%(int(y),int(m),int(d))
             50         except:
             51             print u'出生年月空缺 (%s,%s)'%(v[1],v[2])
             52         
             53         txt = rowfmt%(v[1],v[2],v[5],birth)
             54         txt = txt.encode('gbk')
             55         #print len(txt)
             56         file.write(txt+'\n')
             57         
             58         txt = "%s~~%s~~%s\n"%(v[1],v[2],v[5])
             59         txt = txt.encode('gbk')
             60         
             61         file2.write(txt)
             62         
             63     file.close()
             64     file2.close()
             65     
             66 
             67 def precess_parameters():
             68     global start_year,start_month,end_year,end_month,start_day,end_day
             69     
             70     cur = datetime.datetime.now()
             71     start_year = cur.year
             72     start_month = cur.month
             73     #print len(sys.argv)
             74     if len(sys.argv) == 4 and sys.argv[1]=='tax':
             75         start_year = int(sys.argv[2]) 
             76         start_month = int(sys.argv[3])
             77     
             78     start_day = 1
             79     x,end_day= calendar.monthrange(start_year,start_month)
             80     
             81     
             82     
             83 def salaryTax():
             84     global start_year,start_month,end_year,end_month,start_day,end_day
             85     
             86     precess_parameters()
             87 
             88     hashemployee = {}
             89     file = open(employeelistfile,'r')
             90     lines = file.readlines()
             91     file.close()
             92     for line in lines:
             93         line = line.strip().split('~~')
             94         k = line[0]
             95         v = line[2]
             96         hashemployee[k] = v
             97     #以上建立員工查找表
             98     
             99     
            100     title = u'證件類型~~證件號碼~~稅目代碼~~含稅標志~~所屬期起~~所屬期止~~天數~~收入額~~扣除額~~應繳稅額~~國家地區~~減免稅額~~實繳稅額'
            101     #rowfmt = u"1     ~~%s      ~~010000  ~~1       ~~%s      ~~%s      ~~%s  ~~%s    ~~%s    ~~%s      ~~142     ~~0       ~~%s"
            102     rowfmt =  u"1     ~~%s      ~~010000  ~~1       ~~%s      ~~%s      ~~%s  ~~%s    ~~%s    ~~%s      ~~142     ~~0       ~~%s"
            103     rowfmt = rowfmt.replace(' ','')
            104     
            105     wb = xlrd.open_workbook(tax_importFile) 
            106     sh = wb.sheet_by_index(0)
            107     file = open(tax_exportFile,'w')
            108     title = title.encode('gbk')
            109     file.write(title)
            110     file.write('\n')
            111     
            112     for r in range(1,sh.nrows):
            113         v = sh.row_values(r)
            114         
            115         v = map(unicode,v)
            116         v = map(string.strip,v)
            117         sid = '' #身份證編號
            118         try:        
            119             sid = hashemployee[v[1]]
            120         except:
            121             print u'處理異常中斷: 工號不能匹配! 工號: %s'%(v[1])
            122             return 
            123             sys.exit(0)
            124         start = "%04d%02d%02d"%(start_year,start_month,start_day)
            125         end = "%04d%02d%02d"%(start_year,start_month,end_day)        
            126         txt = rowfmt%(sid,start,end, end_day-start_day+1,v[22],fixDeduct,v[24],v[24] ) #應發工資 W(v[22])
            127         txt = txt.encode('gbk')        
            128         file.write(txt+'\n')
            129     file.close()
            130     
            131 
            132 if __name__=='__main__':
            133     employeeAchive()
            134     salaryTax()
            135    
            posted on 2011-08-30 11:28 放屁阿狗 閱讀(283) 評論(0)  編輯 收藏 引用 所屬分類: perl/python/php/lua/tcl
            久久精品国产精品青草app| 亚洲?V乱码久久精品蜜桃| av无码久久久久久不卡网站| 国产精品久久久久国产A级| 精品综合久久久久久88小说| 日韩人妻无码一区二区三区久久99| 精品永久久福利一区二区| 久久狠狠一本精品综合网| 国产色综合久久无码有码| 久久免费线看线看| 久久精品亚洲一区二区三区浴池| 国产精品99久久久久久www| 久久综合给合久久狠狠狠97色69| 久久精品成人| 亚洲成色999久久网站| 国产精品无码久久综合| 伊色综合久久之综合久久| 伊人久久综在合线亚洲2019| 无码伊人66久久大杳蕉网站谷歌 | 久久99热精品| 国产成人久久精品一区二区三区 | 日韩av无码久久精品免费| 久久久久国产精品麻豆AR影院| 99久久777色| 72种姿势欧美久久久久大黄蕉| 精品熟女少妇AV免费久久 | 精品久久久久久久国产潘金莲| 精品欧美一区二区三区久久久 | 99久久成人18免费网站| 少妇内射兰兰久久| 亚洲精品无码久久久久去q | 亚洲国产精品无码久久久久久曰| 国产精品九九久久免费视频 | 亚洲伊人久久综合影院| 欧美日韩精品久久久免费观看| 久久久久亚洲AV成人网| 免费一级做a爰片久久毛片潮| 久久天天躁狠狠躁夜夜av浪潮| 日日狠狠久久偷偷色综合0| 久久亚洲国产成人影院网站| 久久精品综合一区二区三区|