def addArchiveHandle(tag):
    __conn = getConnect_old()
    records = getWorkflow_handle(__conn)
    counter = 0
    for record in records:
        workflowhandle = {}
        workflowhandle['rowguid'] = str(uuid.uuid1())
        workflowhandle['archiveRowguid'] = record[0]
        workflowhandle['archiveType'] = tag
        workflowhandle['processversionInstanceGuid'] = record[0]
        workflowhandle['activityName'] = record[1]
        userGuidStr = record[2]
        # print(userGuidStr)
        #默认为系统管理员
        userGuid = '45f0c5f9-cad2-49e6-887d-b38dfcbc23de'
        if userGuidStr:
            userGuid = Utils.getInitUserGuid(userGuidStr, __conn)
            if not userGuid:
                userGuid = userGuidStr
        workflowhandle['HandleUserGuid'] = userGuid
        workflowhandle['handleUserName'] = record[3]
        workflowhandle['HandleUserOUGuid'] = Utils.getUnitBaseOuGUid()
        workflowhandle['isdone'] = "1"
        #标识为历史数据
        workflowhandle['frominducestate'] = "1"
        if record[2] == '办理完毕':
            workflowhandle['isdone'] = "1"
        doneDateStr = record[4]
        if doneDateStr:
            doneDate = Utils.formatStrToTime(doneDateStr)
            if doneDate:
                doneDateStr = Utils.fromatTimeToStr(doneDate,
                                                    '%Y-%m-%d %H:%M:%S')
            else:
                doneDateStr = None
        else:
            doneDateStr = None
        workflowhandle['donedate'] = doneDateStr
        if insertWorkflowHandle(workflowhandle, __conn) > 0:
            counter += 1
            print('流程处理信息已经添加:%d 条' % counter)
        if counter % 1000 == 0:
            pass
            __conn.commitData()
    __conn.commitData()
    __conn.closeConn()
def analysisWd24Csv(file):
    csvFile = csv.reader(file)
    # 读取一行,下面的reader中已经没有该行了
    head_row = next(csvFile)
    # print(head_row)
    __conn = getConnect_old()
    counter = 0
    for row in csvFile:
        # print(row)
        # print(len(row))
        if len(row) != 37:
            continue
        wd24 = {}
        wd24['RowGuid'] = str(uuid.uuid1())
        wd24['ProcessVersionInstanceGuid'] = row[0]
        # print(row[0])
        wd24['pviguid'] = row[0]
        txttitle = row[1]
        if not txttitle:
            continue
        else:
            txttitle = re.sub('[\']{1,5}', "”", txttitle)
        wd24['txttitle'] = txttitle
        wd24['FaWenFileNumber'] = row[2]
        countFilenumber = getCountFileNumber(__conn, row[2])
        if countFilenumber == None or getCountFileNumber(__conn,
                                                         row[2])[0][0] > 0:
            print(row[2], getCountFileNumber(__conn, row[2])[0][0])
            continue

        wd24['JpdFawenYear'] = re.sub('[^0-9]', '', row[3])
        wd24['TxtFileNumber'] = re.sub('[^0-9]', '', row[4])
        wd24['Ouname'] = row[5]
        sendfiledate = Utils.formatStrToTime(row[6])
        if sendfiledate:
            sendfiledate = Utils.fromatTimeToStr(sendfiledate,
                                                 "%Y-%m-%d %H:%M:%S")
        wd24['sendfiledate'] = sendfiledate
        wd24['InitUserDisplayName'] = row[7]
        wd24['JpdMiji'] = row[8]
        wd24['secrecyTime'] = row[9]
        wd24['jpdhuanji'] = row[10]
        wd24['sanctionsTime'] = row[11]
        wd24['phone'] = row[12]
        wd24['secrecyExaminer'] = row[13]
        wd24['lawExaminer'] = row[14]
        wd24['categorynum'] = row[15]
        wd24['identfyFile'] = row[16]
        wd24['genresType'] = row[17]
        wd24['rulesFile'] = row[18]
        wd24['partyMixInfo'] = row[19]
        wd24['policyFiles'] = row[20]
        wd24['commonAttr'] = row[21]
        wd24['noPublicReason'] = row[22]
        wd24['drafttype'] = row[23]
        wd24['txtzhusong'] = row[24]
        wd24['txtchaosong'] = row[25]
        wd24['theme'] = row[26]
        wd24['sendFileType'] = row[27]
        wd24['pdfawendz'] = row[28]
        wd24['bark'] = row[29]
        relatedLink = row[30]
        if relatedLink and relatedLink != '':
            relatedLink = Utils.handleRelateLink(relatedLink)
        wd24['relatedLink'] = relatedLink
        C_CreateUser = row[31]
        C_CreateUser = Utils.getInitUserGuid(C_CreateUser, __conn)
        wd24["InitUserGuid"] = C_CreateUser
        wd24['JpdGongWenZhongLei'] = row[32]
        wd24['searchLevel'] = row[33]
        wd24['printNum'] = re.sub('[^0-9]', '', row[34])
        if Utils.getUnitBaseOuGUid(row[35]) == None:
            continue
        wd24['SubWebFlowOuGuid'] = Utils.getUnitBaseOuGUid(row[35])
        wd24['imported'] = 1
        wd24['DelFlag'] = 0
        # print(wd24)
        if insertWd24(__conn, wd24) > 0:
            counter += 1
        if counter % 1000 == 0:
            __conn.commitData()
    print("发文数据已经插入:%d 条。" % counter)
    __conn.commitData()
    __conn.closeConn()
def analysisWd25Csv(file):
    csvFile = csv.reader(file)
    # 读取一行,下面的reader中已经没有该行了
    head_row = next(csvFile)
    # print(head_row)
    __conn = getConnect_old()
    counter = 0
    for row in csvFile:
        # print(len(row))
        if len(row) != 26:
            continue
        # print(row)
        wd25 = {}
        wd25['RowGuid'] = str(uuid.uuid1())
        wd25['ProcessVersionInstanceGuid'] = row[0]
        txttitle = row[1]
        if txttitle:
            txttitle = re.sub('[\']{1,5}', "”", txttitle)
        else:
            continue
        wd25['TxtTitle'] = txttitle
        wd25['txtlaiwenhao'] = row[2]
        wd25['ShouWenFileNumber'] = row[3]
        wd25['replyTitle'] = row[4]
        wd25['flowNum'] = row[5]
        wd25['fileCode'] = row[6]
        wd25['txtlaiwendept'] = row[7]
        wd25['fileStyle'] = row[8]
        wd25['initUserDisplayName'] = row[9]
        wd25['jinji'] = row[10]
        wd25['jpdMiji'] = row[11]
        wd25['Arch_Type'] = row[12]
        saveTimeStr = row[13]
        #将时间字符串转为时间
        # if saveTimeStr == '短期':
        #     pass
        # elif saveTimeStr and str(saveTimeStr).strip() != '':
        #     saveTimeStr = Utils.formatStrToTime(saveTimeStr)
        #     if saveTimeStr:
        #         saveTimeStr = Utils.fromatTimeToStr(saveTimeStr, "%Y-%m-%d %H:%M:%S")
        # else:
        #     saveTimeStr = None
        wd25['saveTime'] = saveTimeStr

        wd25['searchLevel'] = row[14]
        wd25['clearFileType'] = row[15]
        txtFileDateStr = row[16]
        #将时间字符串转为时间
        if txtFileDateStr and txtFileDateStr != '':
            txtFileDateStr = Utils.formatStrToTime(txtFileDateStr)
            if txtFileDateStr:
                txtFileDateStr = Utils.fromatTimeToStr(txtFileDateStr,
                                                       "%Y-%m-%d %H:%M:%S")
        else:
            txtFileDateStr = None
        wd25['TxtFileDate'] = txtFileDateStr

        txtShouWenDateStr = row[17]
        #将时间字符串转为时间
        if txtShouWenDateStr and txtShouWenDateStr != '':
            txtShouWenDateStr = Utils.formatStrToTime(txtShouWenDateStr)
            if txtShouWenDateStr:
                txtShouWenDateStr = Utils.fromatTimeToStr(
                    txtShouWenDateStr, "%Y-%m-%d %H:%M:%S")
        else:
            txtShouWenDateStr = None
        wd25['TxtShouWenDate'] = txtShouWenDateStr

        wd25['txtzhuban'] = row[18]
        banjieDateStr = row[19]
        #将时间字符串转为时间
        if banjieDateStr and str(banjieDateStr).strip() != '':
            banjieDateStr = Utils.formatStrToTime(banjieDateStr)
            if banjieDateStr:
                banjieDateStr = Utils.fromatTimeToStr(banjieDateStr,
                                                      "%Y-%m-%d %H:%M:%S")
        else:
            banjieDateStr = None
        wd25['banjieDate'] = banjieDateStr

        overTimeStr = row[20]
        #将时间字符串转为时间
        if overTimeStr and str(overTimeStr).strip() != '':
            overTimeStr = Utils.formatStrToTime(overTimeStr)
            if overTimeStr:
                overTimeStr = Utils.fromatTimeToStr(overTimeStr,
                                                    "%Y-%m-%d %H:%M:%S")
        else:
            overTimeStr = None
        wd25['overTime'] = overTimeStr
        wd25['isQuit'] = row[21]
        wd25['attach'] = row[22]
        wd25['bark'] = row[23]
        wd25['Ouname'] = row[24]
        C_CreateUser = Utils.getInitUserGuid(row[25], __conn)
        wd25['InitUserGuid'] = C_CreateUser
        wd25['imported'] = 1
        wd25['DelFlag'] = 0
        wd25['SubWebFlowOuGuid'] = Utils.getUnitBaseOuGUid()
        if insertWd25(__conn, wd25) > 0:
            counter += 1
        if counter % 1000 == 0:
            __conn.commitData()
    print("收文数据已经插入:%d 条。" % counter)
    __conn.commitData()
    __conn.closeConn()