当前位置: 首页 > news >正文

python 生成设施农用地各类材料,并调用python2进行出图

python 生成设施农用地各类材料,并调用python2进行出图

-- coding: utf-8 --

import win32com.client
from win32com.client import Dispatch
import os, sys, glob
#import traceback, shapefile
from openpyxl import load_workbook, Workbook
import openpyxl, time
#from get_num import convert
import docx
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH #设置对象居中、对齐等。
from docx.enum.text import WD_TAB_ALIGNMENT,WD_TAB_LEADER #设置制表符等
from docx.shared import Inches #设置图像大小
from docx.shared import Pt #设置像素、缩进等
from docx.shared import RGBColor #设置字体颜色
from docx.shared import Length #设置宽度
from docx import Document
from docx.shared import Inches
from docx.shared import Cm
#import excel_pdf

解决 画图中文 方块问题

from get_num import convert
from dateutil.relativedelta import relativedelta
from chinese_calendar import is_workday
import sys
import datetime
from PyQt5.QtWidgets import QMessageBox
from PyQt5.QtWidgets import QApplication
import globalvar as gl
def get_label(self, text):
self.label_jd.setText(

<span style=” color:#ff0000;“>%s

”%text)
QApplication.processEvents()

def get_qlrlx(qlrlx):
if qlrlx == ‘合作社’:
lx = ‘社’
elif qlrlx == ‘公司’:
lx = ‘司’
elif qlrlx == ‘场’:
lx = ‘场’
elif qlrlx == ‘个人’:
lx = ‘’
else:
lx = qlrlx
return lx

def get_qlrlx1(qlrlx):
if qlrlx == ‘个人’:
lx = ‘人’
else:
lx = qlrlx
return lx

def get_date(text):
#text = text.replace(‘//’,‘-’)
list_text = str(text).split(‘/’)
return str(‘%s年%s月%s日’%(list_text[0], int(list_text[1]), int(list_text[2])))

def get_date1(text):
#text = text.replace(‘//’,‘-’)
list_text = str(text).split(‘/’)
return str(u’%s年%s月%s日’%(list_text[0], int(list_text[1]), int(list_text[2])))

def get_date_jjr(date):
if is_workday(datetime.strptime(date, ‘%Y-%m-%d’)):
date1 = date
else:
for i in range(1, 12):
now_date = (date + datetime.timedelta(days=+i)).strftime(“%Y-%m-%d”)
if is_workday(now_date):
date1 = now_date
break
return date1

def get_str(word, text, text_new):
try:
word.Selection.Find.Execute(text, False, False, False, False, False, True, 1, True, str(text_new), 2) # 项目名称
except:
word.Selection.Find.Execute(text, False, False, False, False, False, True, 1, True, str(text_new), 2) # 项目名称

class output_ssnyd():
#输出1土地权属来源证明
def output_qslyzm(self):
path = os.path.join(self.path_temp, ‘1土地权属来源证明.docx’)
doc = self.word.Documents.Open(FileName=path)
print(path, self.xmmc)
get_str(self.word, ‘XMMC’, self.xmmc) # 项目名称
get_str(self.word, ‘ZLDZ’, self.zldz) # 坐落地址
get_str(self.word, ‘ZLDZ’, self.zldz) # 坐落地址
list = []
if self.dksl>1:
for i in range(1, self.dksl+1):
list.append(‘宗地四至为:东至%s,南至%s,西至%s,北至%s’%(self.szd, self.szn, self.szx, self.szb))
text = ‘;’.join(list)
else:
text = ‘宗地四至为:东至%s,南至%s,西至%s,北至%s’%(self.szd, self.szn, self.szx, self.szb)
get_str(self.word, ‘SZXX’, text) # 四至东
# get_str(self.word, ‘SZD’, self.szd) # 四至东
# get_str(self.word, ‘SZN’, self.szn) # 四至南
# get_str(self.word, ‘SZX’, self.szx) # 四至西
# get_str(self.word, ‘SZB’, self.szb) # 四至北
get_str(self.word, ‘TBMJ_M’, self.z_mj_m) # 四至北
get_str(self.word, ‘SSMJ_M’, self.ss_mj_m) # 四至北
get_str(self.word, ‘XZC’, self.jjzzc) # 四至北
get_str(self.word, ‘QSLYSJ’, self.qslysj) # 四至北
doc.SaveAs(os.path.join(self.path_bc, ‘%s-01、土地权属来源证明.docx’ % self.tbbh))
doc.Close()

#输出2设施农业用地项目设施农业用地的申请书
def output_sqs(self):path = os.path.join(self.path_temp, '2设施农业用地项目设施农业用地的申请书.doc')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'RMZF', self.rmzf)  # 人民政府get_str(self.word, 'XMMC', self.xmmc)  # 项目名称if len(self.xmmc) > 20:get_str(self.word, 'SQQS', '设施农业用地的\n申请书')  # 行政村else:get_str(self.word, 'SQQS', '设施农业用地的申请书')  # 行政村get_str(self.word, 'XZC', self.jjzzc)  # 行政村get_str(self.word, 'TBMJ_M', self.ss_mj_m)  # 图斑面积亩get_str(self.word, 'SCMJ', self.sc_mj_m)  # 图斑面积亩get_str(self.word, 'FSMJ', self.fs_mj_m)  # 图斑面积亩get_str(self.word, 'SQSSJ', self.sqssj)  # 图斑面积亩get_str(self.word, 'QLRLX', get_qlrlx1(self.qlrlx))doc.SaveAs(os.path.join(self.path_bc, '%s-02、设施农业用地项目设施农业用地的申请书.doc' % self.tbbh))doc.Close()#输出3复耕复绿保证书.doc
def output_bzs(self):path = os.path.join(self.path_temp, '3复耕复绿保证书.doc')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'RMZF', self.rmzf)  # 人民政府get_str(self.word, 'TBMJ_X', self.ss_mj)  # 图斑面积get_str(self.word, 'SSJZ', (self.scss + self.fsss).replace('/', ''))  # 图斑面积get_str(self.word, 'XZC', self.jjzzc)  # 行政村get_str(self.word, 'QLRLX', get_qlrlx1(self.qlrlx))if len(self.xmmc) > 20:get_str(self.word, 'BZSBT', '\n保证书')  # 行政村else:get_str(self.word, 'BZSBT', '保证书')  # 行政村get_str(self.word, 'FGFLBZSSJ', self.fgflbzssj)  # 行政村doc.SaveAs(os.path.join(self.path_bc, '%s-03、复耕复绿保证书.doc' % self.tbbh))doc.Close()# 4输出用地协议
def output_ydxy(self):path = os.path.join(self.path_temp, '4设施农业用地协议.docx')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'XYBH', self.xybh)  # 协议编号get_str(self.word, 'QDRQ', self.qdrq)  # 签订日期get_str(self.word, 'JJZZ', self.jjzz)  # 经济组织get_str(self.word, 'XZC', self.jjzzc)  # 行政村get_str(self.word, 'RMZF', self.rmzf)  # 人民政府get_str(self.word, 'ZZJGDM', self.zzjgdm)  # 组织机构代码get_str(self.word, 'ZLDZ', self.zldz)  # 坐落地址get_str(self.word, 'QLRMC', self.qlrmc)  # 权利人名称get_str(self.word, 'ZJHM', self.zjhm)  # 证件号码get_str(self.word, 'ZFJGDM', self.zfjgdm)  # 政府组织机构代码get_str(self.word, 'ZFDZ', self.zldz)  # 政府地址get_str(self.word, 'TBMJ_M', self.z_mj_m)  # 图斑面积亩get_str(self.word, 'SSMJ_M', self.ss_mj_m)  # 图斑面积亩get_str(self.word, 'SSMJ_D', convert(self.ss_mj_m))  # 图斑面积亩list = []if self.dksl > 1:for i in range(1, self.dksl+1):list.append('地块%s四至为:东至 林地,南至 林地,西至 林地,北至 林地' % i)text = ';'.join(list)else:text = '宗地四至为:东至%s,南至%s,西至%s,北至%s'%(self.szd, self.szn, self.szx, self.szb)get_str(self.word, 'SZXX', text)  # 四至东# get_str(self.word, 'SZD', self.szd)  # 四至东# get_str(self.word, 'SZN', self.szn)  # 四至南# get_str(self.word, 'SZX', self.szx)  # 四至西# get_str(self.word, 'SZB', self.szb)  # 四至北get_str(self.word, 'TBMJ_D', convert(self.z_mj_m))  # 图斑面积大写get_str(self.word, 'TBMJ_X', self.z_mj)  # 图斑面积小写get_str(self.word, 'QSSJ', self.qssj)  # 起始时间get_str(self.word, 'JSSJ', self.jssj)  # 结束时间get_str(self.word, 'SC_YZLX', self.scss)  # 养殖类型get_str(self.word, 'FS_YZLX', self.fsss)  # 养殖类型get_str(self.word, 'SC_GDM', str(self.sc_gdm))  # 耕地get_str(self.word, 'SC_STMJ', str(self.sc_stmj))  # 水田get_str(self.word, 'SC_YDMJ', str(self.sc_ydmj))  # 园地get_str(self.word, 'SC_LDMJ', str(self.sc_ldmj))  # 林地get_str(self.word, 'SC_YZKT', str(self.sc_yzkt))  # 养殖坑塘get_str(self.word, 'SC_QTNYD', str(self.sc_qtnyd))  # 其他农用地get_str(self.word, 'SC_WLYD', str(self.sc_wlyd))  # 未利用地get_str(self.word, 'SC_JSYD', str(self.sc_jsyd))  # 建设用地get_str(self.word, 'FS_GDM', str(self.fs_gdm))  # 耕地get_str(self.word, 'FS_STMJ', str(self.fs_stmj))  # 水田get_str(self.word, 'FS_YDMJ', str(self.fs_ydmj))  # 园地get_str(self.word, 'FS_LDMJ', str(self.fs_ldmj))  # 林地get_str(self.word, 'FS_YZKT', str(self.fs_yzkt))  # 养殖坑塘get_str(self.word, 'FS_QTNYD', str(self.fs_qtnyd))  # 其他农用地get_str(self.word, 'FS_WLYD', str(self.fs_wlyd))  # 未利用地get_str(self.word, 'FS_JSYD', str(self.fs_jsyd))  # 建设用地path_bc = os.path.join(self.path_bc, '%s-04、用地协议.docx' % self.tbbh)doc.SaveAs(path_bc)doc.Close()document = Document(path_bc)table = document.tables[2]run = table.cell(0, 0).paragraphs[0].add_run('')# run = document.paragraphs[103].add_run()run.add_picture(os.path.join(self.gcpath, self.gcxmmc, 'yess-zt-xz.jpg'), width=Cm(26.95), height=Cm(17.33))run.add_picture(os.path.join(self.gcpath, self.gcxmmc, 'yess-zt-yx.jpg'), width=Cm(26.95), height=Cm(17.33))table = document.tables[3]run = table.cell(0, 0).paragraphs[0].add_run('')# run = document.paragraphs[103].add_run()#path = r"D:\jpg\%s-yx.jpg" % self.tbbhrun.add_picture(os.path.join(self.gcpath, self.gcxmmc, 'yess-ss-xz.jpg'), width=Cm(26.95), height=Cm(17.33))run.add_picture(os.path.join(self.gcpath, self.gcxmmc, 'yess-ss-yx.jpg'), width=Cm(26.95), height=Cm(17.33))document.save(path_bc)  # 保存文件# 新政策文件
def output_shxxb_xzc(self):path = os.path.join(self.path_temp, '5土地变更调查设施农业用地审核信息表(新政策).doc')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'XYBH', self.xybh)  # 协议编号get_str(self.word, 'QLRMC', self.qlrmc)  # 权利人名称get_str(self.word, 'JJZZ', self.jjzz)  # 经济组织get_str(self.word, 'QSSJ', self.qssj)  # 起始时间get_str(self.word, 'JSSJ', self.jssj)  # 结束时间get_str(self.word, 'TBMJ_M', self.z_mj_m)  # 图斑面积亩szfw = '东至:%s、南至:%s\n西至:%s、北至:%s'%(self.szd, self.szn, self.szx, self.szb)get_str(self.word, 'SZFW', szfw)  # 图斑面积亩# 替换面积表get_str(self.word, 'SC_TBMJM', self.sc_mj_m)  # 耕地get_str(self.word, 'FS_TBMJM', self.fs_mj_m)  # 耕地get_str(self.word, 'TBMJM_SS', self.sc_mj_m + self.fs_mj_m)  # 耕地scbl = round(self.sc_mj / self.z_mj, 3)fsbl = round(self.fs_mj / self.z_mj, 3)get_str(self.word, 'Z_BL', '{:.1%}'.format(scbl + fsbl))  # 耕地get_str(self.word, 'SC_BL', '{:.1%}'.format(scbl))  # 耕地get_str(self.word, 'FS_BL', '{:.1%}'.format(fsbl))  # 耕地get_str(self.word, 'Z_GDM', self.gdm)  # 耕地get_str(self.word, 'Z_STMJ', self.stmj)  # 水田get_str(self.word, 'Z_YDMJ', self.ydmj)  # 园地get_str(self.word, 'Z_LDMJ', self.ldmj)  # 林地get_str(self.word, 'Z_YZKT', self.yzkt)  # 养殖坑塘get_str(self.word, 'Z_QTNYD', self.qtnyd)  # 其他农用地get_str(self.word, 'Z_WLYD', self.wlyd)  # 未利用地get_str(self.word, 'Z_JSYD', self.jsyd)  # 建设用地get_str(self.word, 'SC_GDM', self.sc_gdm)  # 耕地get_str(self.word, 'SC_STMJ', self.sc_stmj)  # 水田get_str(self.word, 'SC_YDMJ', self.sc_ydmj)  # 园地get_str(self.word, 'SC_LDMJ', self.sc_ldmj)  # 林地get_str(self.word, 'SC_YZKT', self.sc_yzkt)  # 养殖坑塘get_str(self.word, 'SC_QTNYD', self.sc_qtnyd)  # 其他农用地get_str(self.word, 'SC_WLYD', self.sc_wlyd)  # 未利用地get_str(self.word, 'SC_JSYD', self.sc_jsyd)  # 建设用地get_str(self.word, 'FS_GDM', self.fs_gdm)  # 耕地get_str(self.word, 'FS_STMJ', self.fs_stmj)  # 水田get_str(self.word, 'FS_YDMJ', self.fs_ydmj)  # 园地get_str(self.word, 'FS_LDMJ', self.fs_ldmj)  # 林地get_str(self.word, 'FS_YZKT', self.fs_yzkt)  # 养殖坑塘get_str(self.word, 'FS_QTNYD', self.fs_qtnyd)  # 其他农用地get_str(self.word, 'FS_WLYD', self.fs_wlyd)  # 未利用地get_str(self.word, 'FS_JSYD', self.fs_jsyd)  # 建设用地doc.SaveAs(os.path.join(self.path_bc, '%s-05、土地变更调查设施农业用地审核信息表(新政策).doc' % self.tbbh))doc.Close()# 6设施禁养区证明
def output_jyqzm(self):path = os.path.join(self.path_temp, '6设施禁养区证明.docx')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'ZLDZ', self.zldz)  # 项目名称get_str(self.word, 'QLRLX', get_qlrlx(self.qlrlx))  # 项目名称get_str(self.word, 'JYQZMSJ', self.jyqzmsj)  # 项目名称doc.SaveAs(os.path.join(self.path_bc, '%s-06、设施禁养区证明.docx' % self.tbbh))doc.Close()# 7设施农业用地备案审核表
def output_bashb(self):path = os.path.join(self.path_temp, '7设施农业用地备案审核表.docx')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'QLRMC', self.qlrmc)  # 权利人名称get_str(self.word, 'FRDB', self.frdb)  # 法人代表get_str(self.word, 'LXDH', self.lxdh)  # 联系电话get_str(self.word, 'TBMJ_M', self.ss_mj_m)  # 图斑面积亩get_str(self.word, 'TBMJ_SC', self.sc_mj_m)  # 图斑面积亩get_str(self.word, 'TBMJ_FS', self.fs_mj_m)  # 图斑面积亩get_str(self.word, 'ZLDZ', self.zldz)  # 坐落地址get_str(self.word, 'CWSHSJ', self.cwshsj)  # 坐落地址get_str(self.word, 'GTSHSJ', self.gtshsj)  # 坐落地址get_str(self.word, 'NBSHSJ', self.nbshsj)  # 坐落地址get_str(self.word, 'LYSHSJ', self.lyshsj)  # 坐落地址get_str(self.word, 'ZFSHSJ', self.zfshsj)  # 坐落地址doc.SaveAs(os.path.join(self.path_bc, '%s-07、设施农业用地备案审核表.docx' % self.tbbh))doc.Close()# 8镇人民政府(街道办事处)关于设施农业项目用地情况的公告
def output_ydgg(self):path = os.path.join(self.path_temp, '8镇人民政府(街道办事处)关于设施农业项目用地情况的公告.doc')doc = self.word.Documents.Open(FileName=path)get_str(self.word,'XMMC', self.xmmc)  # 项目名称get_str(self.word,'RMZF', self.rmzf)  # 人民政府get_str(self.word,'QLRMC', self.qlrmc)  # 权利人名称get_str(self.word,'JJZZ', self.jjzz)  # 经济组织get_str(self.word,'GDSJ', self.ggsj)  # 经济组织doc.SaveAs(os.path.join(self.path_bc, '%s-08、设施农业项目用地情况的公告.doc' % self.tbbh))doc.Close()# 9关于河源市盛绿种养农民专业合作社申请设施农业用地备案的批复
def output_pf(self):path = os.path.join(self.path_temp, '9设施农业用地备案的批复.docx')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'QLRMC', self.qlrmc)  # 权利人名称get_str(self.word, 'ZLDZ', self.zldz)  # 坐落地址get_str(self.word, 'QLRLX', get_qlrlx(self.qlrlx))list = []if self.dksl > 1:for i in range(1, self.dksl + 1):list.append('地块%s四至为:东至 林地,南至 林地,西至 林地,北至 林地' % i)text = ';'.join(list)else:text = '宗地四至为:东至 林地,南至 林地,西至 林地,北至 林地'get_str(self.word, 'SZXX', text)  # 四至东# get_str(self.word, 'SZD', self.szd)  # 四至东# get_str(self.word, 'SZN', self.szn)  # 四至南# get_str(self.word, 'SZX', self.szx)  # 四至西# get_str(self.word, 'SZB', self.szb)  # 四至北get_str(self.word, 'TBMJ_ZM', self.z_mj_m)  # 图斑面积亩get_str(self.word, 'TBMJ_ZX', self.z_mj)  # 图斑面积小get_str(self.word, 'TBMJ_SSM', self.ss_mj_m)  # 图斑面积小get_str(self.word, 'TBMJ_SSX', self.ss_mj)  # 图斑面积小get_str(self.word, 'JJZZ', self.jjzz)  # 经济组织get_str(self.word, 'RMZF', self.rmzf)  # 人民政府get_str(self.word, 'PFSJ', self.fhsj)  # 人民政府get_str(self.word, 'SSJZ', (self.scss + self.fsss).replace('/', ''))  # 人民政府if len(self.xmmc) > 20:get_str(self.word, 'BAPF', '\n备案的复函')  # 行政村else:get_str(self.word, 'BAPF', '备案的复函')  # 行政村doc.SaveAs(os.path.join(self.path_bc, '%s-09、设施农业用地备案的批复.docx' % self.tbbh))doc.Close()# 10设施农业用地备案信息上图入库的函
def output_rkh(self):path = os.path.join(self.path_temp, '10设施农业用地备案信息上图入库的函.docx')doc = self.word.Documents.Open(FileName=path)get_str(self.word, 'XMMC', self.xmmc)  # 项目名称get_str(self.word, 'RMZF', self.rmzf)  # 人民政府get_str(self.word, 'TBMJ_M', self.ss_mj_m)  # 图斑面积get_str(self.word, 'SQRKSJ', self.sqrksj)  # 图斑面积doc.SaveAs(os.path.join(self.path_bc, '%s-10、设施农业用地备案信息上图入库的函.docx' % self.tbbh))doc.Close()# 获取图斑基本信息
def select1(self):self.list_excel = {}wb = openpyxl.load_workbook(self.excel, data_only=True)sht = wb.activerow = sht.max_rowfor rows in range(3, row + 1):tbbh = sht.cell(None, rows, 1).valueif tbbh != None:for cols in range(2, 41):text = sht.cell(None, rows, cols).valuetry:self.list_excel.setdefault(tbbh, []).append(text.encode("gbk"))except:self.list_excel.setdefault(tbbh, []).append(text)self.list_excel.setdefault(tbbh, []).append(sht.cell(None, rows, 2).value)# self.list_excel.setdefault(tbbh, []).append(sht.cell(None,rows, 16).value)def select(self):self.list_excel = {}wb = openpyxl.load_workbook(self.excel, data_only=True)sht = wb['江东新区-设施农用地备案 -最终']row = sht.max_rowfor rows in range(3, row + 1):tbbh = sht.cell(None, rows, 1).valueif tbbh != None:for cols in range(2, 49):text = sht.cell(None, rows, cols).value# try:#     self.list_excel.setdefault(tbbh, []).append(text.encode("gbk"))# except:self.list_excel.setdefault(tbbh, []).append(text)# self.list_excel.setdefault(tbbh, []).append(sht.cell(None,rows, 2).value)def main(self, self1, ydr,zjh,frdb,dhhm,xmmc,xmdz,yzlx,scss,fsss,szd,szn,szx,szb,xybh,xyqdsj,qssj,jssj,gdmj,ydmj,yzkt,wlyd,jsyd,qtnyd,ldmj,stmj,jjzz,zzjgdm,cwdz,cmjc,zm,zlxr,zlxdh,xmzt,scsst,fssst,gdmj_2,ydmj_2,yzkt_2,wlyd_2,jsyd_2,qtnyd_2,ldmj_2,stmj_2,scmj,fsmj,zmj,qlrlx):self.gcpath = gl.get_value('ye_gcpath')self.gcxmmc = gl.get_value('ye_gcxmmc')self.word = win32com.client.DispatchEx('Word.Application')  # Word.Applicationself.word.Visible = Falseself.word.DisplayAlerts = Falseself.path_temp = os.path.join(os.path.split(sys.argv[0])[0], 'temp', '江东新区设施农业用地模板')list1 = {}with open(os.path.join(self.gcpath, self.gcxmmc, 'temp', 'systemp_mj.txt'),encoding='utf-8') as f:for line in f.readlines():list_txt = line.replace('\n', '').split(':')list1[list_txt[0]] = list_txt[1]zmj = list1['项目面积']self.dksl = 1self.tbbh = xmmcself.qlrmc = ydrself.xmmc = xmmcself.frdb = frdbself.lxdh = dhhmself.zjhm = zjhself.zldz = xmdzself.xmdz = xmdzself.yzlx = yzlxself.scss = scssself.fsss = fsssself.sc_mj = float(scmj)self.fs_mj = float(fsmj)self.sc_mj_m = round(self.sc_mj / 10000, 4)self.fs_mj_m = round(self.fs_mj / 10000, 4)self.ss_mj = float(scmj) + float(fsmj)self.ss_mj_m = round(self.ss_mj / 10000, 4)self.z_mj = float(zmj)self.z_mj_m = round(self.z_mj / 10000, 4)self.bawh = ''self.zlxr = zlxrself.zlxdh = zlxdhself.rmzf = zm#self.tbmj_d = convert(str(round(self.tbmj_m, 4)))  # )str(self.list_excel[self.tbbh][14]).encode('gbk')self.jjzz = jjzzself.jjzzc = cmjcself.zzjgdm = zzjgdmself.jjzzdz = cwdzself.xybh = ''self.szd = szdself.szn = sznself.szx = szxself.szb = szbself.zfjgdm = ''self.gdm = gdmjself.gdm = gdmj + gdmj_2self.stmj = stmj + stmj_2self.ydmj = ydmj + ydmj_2self.ldmj = ldmj + ldmj_2self.yzkt = yzkt + yzkt_2self.qtnyd = qtnyd + qtnyd_2self.wlyd = wlyd + wlyd_2self.jsyd = jsyd + jsyd_2self.sc_gdm = gdmjself.sc_stmj = stmjself.sc_ydmj = ydmjself.sc_ldmj = ldmjself.sc_yzkt = yzktself.sc_qtnyd = qtnydself.sc_wlyd = wlydself.sc_jsyd = jsydself.fs_gdm = gdmj_2self.fs_stmj = stmj_2self.fs_ydmj = ydmj_2self.fs_ldmj = ldmj_2self.fs_yzkt = yzkt_2self.fs_qtnyd = qtnyd_2self.fs_wlyd = wlyd_2self.fs_jsyd = jsyd_2# #时间ssjssjself.qlrlx = qlrlxprint(xyqdsj)self.date = datetime.datetime.strptime(xyqdsj, '%Y/%m/%d')self.ztrq = get_date1((self.date + datetime.timedelta(days=5)).strftime("%Y/%m/%d"))  # 制图日期self.qdrq = get_date((self.date + datetime.timedelta(days=+2)).strftime("%Y/%m/%d"))  # 取得用地时间self.qssj = get_date(qssj)  # 起始时间self.jssj = get_date(jssj)  # 结束时间if self.qssj == '2000年1月1日':self.qssj = '    年  月  日'if self.jssj == '2000年1月1日':self.jssj = '    年  月  日'self.fkqs = get_date(((self.date + relativedelta(years=30)) + datetime.timedelta(days=-180)).strftime("%Y/%m/%d"))  # 结束时间self.qslysj = get_date((self.date + datetime.timedelta(days=+3)).strftime("%Y/%m/%d"))  # 权属来源证明self.jyqzmsj = get_date((self.date + datetime.timedelta(days=+4)).strftime("%Y/%m/%d"))  # 禁养区证明self.fgflbzssj = get_date((self.date + datetime.timedelta(days=+5)).strftime("%Y/%m/%d"))  # 复耕复绿保证书self.sqssj = get_date((self.date + datetime.timedelta(days=+6)).strftime("%Y/%m/%d"))  # 申请书时间self.cwshsj = get_date((self.date + datetime.timedelta(days=+7)).strftime("%Y/%m/%d"))  # 村委会审核时间self.gtshsj = get_date((self.date + datetime.timedelta(days=+8)).strftime("%Y/%m/%d"))  # 国土审核时间self.nbshsj = get_date((self.date + datetime.timedelta(days=+9)).strftime("%Y/%m/%d"))  # 农办审核时间self.lyshsj = get_date((self.date + datetime.timedelta(days=+10)).strftime("%Y/%m/%d"))  # 林业审核时间self.zfshsj = get_date((self.date + datetime.timedelta(days=+11)).strftime("%Y/%m/%d"))  # 政府审核时间self.ggsj = get_date((self.date + datetime.timedelta(days=+12)).strftime("%Y/%m/%d"))  # 公告时间self.fhsj = get_date((self.date + datetime.timedelta(days=+32)).strftime("%Y/%m/%d"))  # 复函时间self.sqrksj = get_date((self.date + datetime.timedelta(days=+33)).strftime("%Y/%m/%d"))  # 申请入库时间self.path_bc = os.path.join(self.gcpath, self.gcxmmc, xmmc)try:os.mkdir(self.path_bc)except:pass#输出1土地权属来源证明get_label(self1, '正在输出权属来源证明')self.output_qslyzm()#输出2设施农业用地项目设施农业用地的申请书get_label(self1, '正在输出设施农业用地项目设施农业用地的申请书')self.output_sqs()#输出3复耕复绿保证书get_label(self1, '正在输出复耕复绿保证书')self.output_bzs()#输出4设施农业用地协议get_label(self1, '正在输出设施农用地用地协议')self.output_ydxy()#输出5土地变更调查设施农业用地审核信息表(新政策)get_label(self1, '正在输出审核信息表(新政策)')self.output_shxxb_xzc()#输出6设施禁养区证明get_label(self1, '正在输出禁养区证明')self.output_jyqzm()#输出7设施农业用地备案审核表get_label(self1, '正在输出本案审核表')self.output_bashb()#输出8镇人民政府(街道办事处)关于设施农业项目用地情况的公告get_label(self1, '正在输出政府关于设施农用地的公告')self.output_ydgg()#输出9设施农业用地备案的批复get_label(self1, '正在输出设施农用地备案的批复')self.output_pf()#输出10设施农业用地备案信息上图入库的函get_label(self1, '正在输出申请备案信息入库的函')self.output_rkh()self.word.Quit()get_label(self1, '设施农用地备案材料完成')QMessageBox.information(None, '提示', '备案成果完成')

if name == ‘main’:
#ye()
# import glob
#
# tbbh = ‘88’
# path = glob.glob(os.path.join(r"D:\jpg", “%s-xz*.jpg” % tbbh))
# print(path)
#output_ssnyd().main()
pass

相关文章:

python 生成设施农用地各类材料,并调用python2进行出图

python 生成设施农用地各类材料&#xff0c;并调用python2进行出图 -- coding: utf-8 -- import win32com.client from win32com.client import Dispatch import os, sys, glob #import traceback, shapefile from openpyxl import load_workbook, Workbook import openpyxl,…...

html - 多媒体标签(video)、音频标签(audio)

video 语法&#xff1a; <video src"文件地址" controls"controls" </video> 常见的属性 属性 值 描 述 autoplay autoplay 视频就绪自动播放&#xff08;谷歌浏览器需要添加muted来解决自动放的问题 controls controls …...

希望计算机专业同学都知道这些博主

湖科大教书匠——计算机网络 “宝藏老师”、“干货满满”、“羡慕湖科大”…这些都是网友对这门网课的评价&#xff0c;可见网课质量之高&#xff01;最全面的面试网站 湖南科技大学《计算机网络》微课堂是该校高军老师精心制作的视频课程&#xff0c;用简单的语言描述复杂的…...

LeetCode 416 分割等和子集

题目&#xff1a; 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释&#xff1a;数组可以分割成 [1, 5, 5] 和 …...

韦东山Linux驱动入门实验班(2)hello驱动---驱动层与应用层通讯,以及自动产生设备节点

前言 &#xff08;1&#xff09;学习韦东山老师的Linux&#xff0c;因为他讲的很精简&#xff0c;以至于很多人听不懂。接下来我讲介绍韦东山老师的驱动实验班的第二个Hello程序。 &#xff08;2&#xff09;注意&#xff0c;请先学习完视频再来看这个教程&#xff01;本文仅供…...

小程序技术,打开跨端管理的思路,提高客户满意度和忠诚度

小程序容器作为跨端管理的有效工具&#xff0c;已经成为越来越多企业的选择。通过小程序容器&#xff0c;企业可以实现跨平台部署&#xff0c;提供一致的用户体验&#xff0c;整合多种渠道实现全渠道协同&#xff0c;进行个性化营销&#xff0c;以及通过数据分析和监控等手段优…...

Jmeter的Content-Type设置方式

今天调Jmeter脚本遇到一个问题&#xff1a;接口的请求体为Body Data时&#xff0c;没有在HTTP信息头管理加Content-Type参数&#xff0c;Content-Type: application/json&#xff0c;导致脚本一直跑不通&#xff0c;报错&#xff0c;一顿排查&#xff0c;才发现是请求头的原因。…...

SQL语法

创建基本表 创建基本表要对表进行命名&#xff0c;定义表的每个列&#xff0c;定义表的完整性约束条件&#xff0c;我们使用CREATE TABLE语句创建基本表 CREATE TABLE <表名> (<列名> <数据类型> [DEEAULT<缺省值>] [列级约束定义], <列名> &l…...

面试题30天打卡-day30

1、如何在 Linux 中查看系统资源使用情况&#xff1f;比如内存、CPU、网络端口。 以下是Linux中一些常用的命令来查看系统资源使用情况&#xff1a; top&#xff1a;实时动态地显示系统的 CPU 使用情况、进程信息、内存占用情况等。可以使用 q 键退出。top命令可以实时显示各…...

learn_C_deep_11 (深刻理解整形提升、左移和右移规则、花括号、++和--操作、表达式匹配:贪心算法)

目录 深刻理解整形提升 左移和右移规则 如何理解"丢弃" 一个问题 0x01<<23 的值是多少 花括号 、--操作 表达式匹配&#xff1a;贪心算法 深刻理解整形提升 #include <stdio.h> int main() {char c 0;printf("sizeof(c): %d\n", sizeo…...

十个高质量工具网站推荐,AI自动抠图换背景,任意背景自动融合

AI 背景更换是一种利用生成式人工智能创建新图像背景的软件工具。与传统方法需要移除原有的背景并更换新的不同&#xff0c;AI背景生成器使用先进的算法生成与前景完美融合的全新背景。这项技术彻底改变了图像编辑的方式&#xff0c;为设计提供了更多的创造自由和灵活性。 特点…...

小红的好数组陡峭值之和

题目如下 这个题我一开始是先生成满足0&#xff0c;1&#xff0c;2的全排列&#xff0c;但是n很大时很快就超出内存限制了&#xff0c;后来想到用动态规划的方法做&#xff0c;这里先分析一下。 n2时&#xff0c;有01&#xff0c;02&#xff0c;10&#xff0c;12&#xff0c;2…...

MySQL中存储具有不定列的数据-EAV模型

当需要在MySQL中存储具有不定列的数据时&#xff0c;一种常见的解决方案是使用EAV&#xff08;Entity-Attribute-Value&#xff09;模型。EAV模型允许灵活地存储不同实体的不同属性&#xff0c;适用于属性数量不确定的情况。本文将介绍如何使用Java和MySQL来实现EAV模型的存储和…...

COM接口规则的存在是有原因的

可能有些人认为接口上的 COM 接口规则没有必要设计的那么严格&#xff0c;但我想说的是&#xff0c;这些规则的存在是有原因的。 假设你在你的产品代码中新增加了版本号为 N 的接口&#xff0c;由于这个接口是内部使用的&#xff0c;没有任何公开文档。所以你可以随意修改它&a…...

并行分布式计算 并行计算性能评测

文章目录 并行分布式计算 并行计算性能评测基本性能指标参数CPU 基本性能指标存储器性能并行与存储开销 加速比性能定律Amdahl 定律Gustafson 定律Sun 和 Ni 定律加速比讨论 可括放性评测标准等效率度量标准等速度度量标准平均延迟度量标准 基准评测程序&#xff08;Benchmark&…...

[网络安全]XSS之Cookie外带攻击姿势及例题详析

[网络安全]XSS之Cookie外带攻击姿势及例题详析 概念姿势及Payload启动HTTP协议 method1启动HTTP协议 method2 例题详析Payload1Payload2window.open 总结 本文仅分享XSS攻击知识&#xff0c;不承担任何法律责任。 本文涉及的软件等请读者自行安装&#xff0c;本文不再赘述。 概…...

Angular之创建项目报错:setTimeout is not defined

零基础的宝们&#xff0c;跟着视频学习Angular中&#xff0c;会教授大家如何创建一个新项目。 但是在操作时就会遇到无法创建的问题。 接下来我们一起来看看&#xff0c;本人Angular起步时卡在家门口的问题。 在已经安装了nodejs的情况下&#xff0c;被建议使用cnpm命令全局安装…...

python实现神经网络之---构建神经元模型1(python3.7)

本文主要要以周志华的机器学习书为蓝本编写 第5章神经网络 5.1python 实现神经元模型 神经网络中最基本的成分是神经元 (neuro且)模型&#xff0c;如下图所示&#xff1a; 1943 年&#xff0c; [McCulloch and Pitts, 1943] 将上述情形抽象为国 5.1所示的简单模型&#xff0c…...

前端面试题 —— JavaScript (三)

一、JavaScript有哪些内置对象 全局的对象&#xff08; global objects &#xff09;或称标准内置对象&#xff0c;不要和 "全局对象&#xff08;global object&#xff09;" 混淆。这里说的全局的对象是说在全局作用域里的对象。全局作用域中的其他对象可以由用户的…...

【openGauss】一键编译openGauss5.0+dolphin,体验新增的mysql兼容特性

脚本 新建一个/opt/onekey-build-og.sh文件&#xff0c;存入以下内容 #!/bin/bash # 环境 centos 7.9 4C 8G (配置越高编译越快&#xff0c;4G内存编译不了&#xff0c;磁盘大概需要14GB) # 安装一些依赖 &#xff08;libaio-devel如果不卸载重装&#xff0c;可能会找不到io_c…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

python打卡day49@浙大疏锦行

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 一、通道注意力模块复习 & CBAM实现 import torch import torch.nn as nnclass CBAM(nn.Module):def __init__…...