全國黨員管理信息系統信息檢錯

#全國黨員管理信息系統-黨員信息管理-綜合查詢-導出excle-運行該程序選擇導出文件即可檢測
import os
import xlrd
import win32ui
import docx
from docx.oxml.ns import qn


def wanzhengxing():
    global w_num
    if '' == x or '' ==d or '' ==h or '' ==z or '' ==edu or '' ==address or '' ==job:
        file.add_paragraph(a+' '+zb+'   基本信息不完善!')
        w_num=w_num+1
        if ''== x or '' ==d or '' ==h:
            print(zb+'的:'+a+' 同志缺乏重要信息,請完善!')
            return 2
         
def xingbie():
    global w_num
    xb=int(b[-2])%2
    if (xb==0 and x=='女') or (xb==1 and x=='男'):
        pass
    else:
        file.add_paragraph(a+' '+'性別錯誤!'+b+' '+x+' '+zb)
        w_num=w_num+1

def jiegou():
    global w_num
    xx=(int(b[0])*7+int(b[1])*9+int(b[2])*10+int(b[3])*5+int(b[4])*8+int(b[5])*4+
       int(b[6])*2+int(b[7])*1+int(b[8])*6+int(b[9])*3+int(b[10])*7+int(b[11])*9+
       int(b[12])*10+int(b[13])*5+int(b[14])*8+int(b[15])*4+int(b[16])*2)
    y=int(xx)%11
    if (y>=3 and str(12-int(y))==b[17]) or (y<2 and str(1-int(y))==b[17]) or (y==2 and b[17]=='X'):
        pass
    else:
        file.add_paragraph(a+'身份證構造有誤!'+b+' '+'聯繫方式:'+z+' '+zb)
        w_num=w_num+1
             
             
def shengri():
    global w_num
    if int(b[6:14])==int(d[:4]+d[5:7]+d[8:10]):
        pass 
    else:
        file.add_paragraph(a+'身份證出生時間可能有誤!'+b+' '+d[:10]+' '+'聯繫方式:'+z+' '+zb)
        w_num=w_num+1

def chengnian():
    global w_num
    if int(d[:4]+d[5:7]+d[8:10])+180000>=int(f[:4]+f[5:7]+f[8:10]):
        file.add_paragraph(a+'未滿十八歲入黨'+' '+d[:10]+' '+f[:10]+' '+'聯繫方式:'+z+' '+zb)
        w_num=w_num+1
    else:
        pass
    
def rudang():
    global w_num
    rd_time=int(f[:4]+f[5:7]+f[8:10])
    zz_time=int(g[:4]+g[5:7]+g[8:10])
    if rd_time<=19560914 and (zz_time==rd_time+600 or zz_time==rd_time+10000 or zz_time==rd_time+20000 or zz_time==rd_time+10000-600):
        return 0
    elif rd_time>=19560915 and rd_time<=19690331 and zz_time==rd_time+10000:
        return 0
    elif rd_time>=19690401 and rd_time<=19770811 and rd_time==zz_time:
        return 0
    if rd_time>=19770812 and zz_time==rd_time+10000:
        return 0
    else:
        file.add_paragraph(a+' '+'入黨轉正時間有誤'+' '+f[:10]+' '+g[:10]+' '+zb)
        w_num=w_num+1

pwd = os.getcwd()
d=win32ui.CreateFileDialog(1)
d.SetOFNInitialDir(pwd)
d.DoModal()
files=d.GetPathName()
w_num=0

if 'xls' in files:
    file=docx.Document()
    file.styles['Normal'].font.name = u'宋體'
    file.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體')
    print(files)
    file.add_paragraph(files)
    workbook=xlrd.open_workbook(files)
    sheet=workbook.sheet_by_index(0)
    n_of_rows=sheet.nrows

    for i in range(1,n_of_rows):
        #姓名
        a=sheet.cell(i,0).value    
        #身份證號碼
        b=sheet.cell(i,1).value
        #性別
        x=sheet.cell(i,2).value
        #出生時間
        d=sheet.cell(i,3).value
        #學歷
        edu=sheet.cell(i,7).value
        #入黨時間
        f=sheet.cell(i,11).value
        #入黨時間
        g=sheet.cell(i,12).value
        #工作崗位
        job=sheet.cell(i,13).value
        #人員類別
        h=sheet.cell(i,16).value
        #電話
        z=sheet.cell(i,18).value
        #支部名稱
        zb=sheet.cell(i,20).value
        #家庭地址
        address=sheet.cell(i,24).value

        if wanzhengxing()==2:
            continue
        
        jiegou()
        xingbie()
        shengri()  
        chengnian()
        if h=='預備黨員':
            continue
        rudang()
        
    file.add_paragraph('共檢測出問題數爲:'+str(w_num))
    file.save(pwd+r'\本次檢測反饋結果.doc')
    print('處理結束,反饋文件已在當前目錄下生成!共檢出問題',w_num,'個!')
        
else:
    print('請選擇黨員信息彙總報告表!')

input('按任意鍵關閉......')

        

        



 

PS:看到自己之前寫的代碼想抽自己大耳巴子......

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章