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 生成设施农用地各类材料,并调用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 语法: <video src"文件地址" controls"controls" </video> 常见的属性 属性 值 描 述 autoplay autoplay 视频就绪自动播放(谷歌浏览器需要添加muted来解决自动放的问题 controls controls …...
希望计算机专业同学都知道这些博主
湖科大教书匠——计算机网络 “宝藏老师”、“干货满满”、“羡慕湖科大”…这些都是网友对这门网课的评价,可见网课质量之高!最全面的面试网站 湖南科技大学《计算机网络》微课堂是该校高军老师精心制作的视频课程,用简单的语言描述复杂的…...
LeetCode 416 分割等和子集
题目: 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 …...
韦东山Linux驱动入门实验班(2)hello驱动---驱动层与应用层通讯,以及自动产生设备节点
前言 (1)学习韦东山老师的Linux,因为他讲的很精简,以至于很多人听不懂。接下来我讲介绍韦东山老师的驱动实验班的第二个Hello程序。 (2)注意,请先学习完视频再来看这个教程!本文仅供…...
小程序技术,打开跨端管理的思路,提高客户满意度和忠诚度
小程序容器作为跨端管理的有效工具,已经成为越来越多企业的选择。通过小程序容器,企业可以实现跨平台部署,提供一致的用户体验,整合多种渠道实现全渠道协同,进行个性化营销,以及通过数据分析和监控等手段优…...
Jmeter的Content-Type设置方式
今天调Jmeter脚本遇到一个问题:接口的请求体为Body Data时,没有在HTTP信息头管理加Content-Type参数,Content-Type: application/json,导致脚本一直跑不通,报错,一顿排查,才发现是请求头的原因。…...
SQL语法
创建基本表 创建基本表要对表进行命名,定义表的每个列,定义表的完整性约束条件,我们使用CREATE TABLE语句创建基本表 CREATE TABLE <表名> (<列名> <数据类型> [DEEAULT<缺省值>] [列级约束定义], <列名> &l…...
面试题30天打卡-day30
1、如何在 Linux 中查看系统资源使用情况?比如内存、CPU、网络端口。 以下是Linux中一些常用的命令来查看系统资源使用情况: top:实时动态地显示系统的 CPU 使用情况、进程信息、内存占用情况等。可以使用 q 键退出。top命令可以实时显示各…...
learn_C_deep_11 (深刻理解整形提升、左移和右移规则、花括号、++和--操作、表达式匹配:贪心算法)
目录 深刻理解整形提升 左移和右移规则 如何理解"丢弃" 一个问题 0x01<<23 的值是多少 花括号 、--操作 表达式匹配:贪心算法 深刻理解整形提升 #include <stdio.h> int main() {char c 0;printf("sizeof(c): %d\n", sizeo…...
十个高质量工具网站推荐,AI自动抠图换背景,任意背景自动融合
AI 背景更换是一种利用生成式人工智能创建新图像背景的软件工具。与传统方法需要移除原有的背景并更换新的不同,AI背景生成器使用先进的算法生成与前景完美融合的全新背景。这项技术彻底改变了图像编辑的方式,为设计提供了更多的创造自由和灵活性。 特点…...
小红的好数组陡峭值之和
题目如下 这个题我一开始是先生成满足0,1,2的全排列,但是n很大时很快就超出内存限制了,后来想到用动态规划的方法做,这里先分析一下。 n2时,有01,02,10,12,2…...
MySQL中存储具有不定列的数据-EAV模型
当需要在MySQL中存储具有不定列的数据时,一种常见的解决方案是使用EAV(Entity-Attribute-Value)模型。EAV模型允许灵活地存储不同实体的不同属性,适用于属性数量不确定的情况。本文将介绍如何使用Java和MySQL来实现EAV模型的存储和…...
COM接口规则的存在是有原因的
可能有些人认为接口上的 COM 接口规则没有必要设计的那么严格,但我想说的是,这些规则的存在是有原因的。 假设你在你的产品代码中新增加了版本号为 N 的接口,由于这个接口是内部使用的,没有任何公开文档。所以你可以随意修改它&a…...
并行分布式计算 并行计算性能评测
文章目录 并行分布式计算 并行计算性能评测基本性能指标参数CPU 基本性能指标存储器性能并行与存储开销 加速比性能定律Amdahl 定律Gustafson 定律Sun 和 Ni 定律加速比讨论 可括放性评测标准等效率度量标准等速度度量标准平均延迟度量标准 基准评测程序(Benchmark&…...
[网络安全]XSS之Cookie外带攻击姿势及例题详析
[网络安全]XSS之Cookie外带攻击姿势及例题详析 概念姿势及Payload启动HTTP协议 method1启动HTTP协议 method2 例题详析Payload1Payload2window.open 总结 本文仅分享XSS攻击知识,不承担任何法律责任。 本文涉及的软件等请读者自行安装,本文不再赘述。 概…...
Angular之创建项目报错:setTimeout is not defined
零基础的宝们,跟着视频学习Angular中,会教授大家如何创建一个新项目。 但是在操作时就会遇到无法创建的问题。 接下来我们一起来看看,本人Angular起步时卡在家门口的问题。 在已经安装了nodejs的情况下,被建议使用cnpm命令全局安装…...
python实现神经网络之---构建神经元模型1(python3.7)
本文主要要以周志华的机器学习书为蓝本编写 第5章神经网络 5.1python 实现神经元模型 神经网络中最基本的成分是神经元 (neuro且)模型,如下图所示: 1943 年, [McCulloch and Pitts, 1943] 将上述情形抽象为国 5.1所示的简单模型,…...
前端面试题 —— JavaScript (三)
一、JavaScript有哪些内置对象 全局的对象( global objects )或称标准内置对象,不要和 "全局对象(global object)" 混淆。这里说的全局的对象是说在全局作用域里的对象。全局作用域中的其他对象可以由用户的…...
【openGauss】一键编译openGauss5.0+dolphin,体验新增的mysql兼容特性
脚本 新建一个/opt/onekey-build-og.sh文件,存入以下内容 #!/bin/bash # 环境 centos 7.9 4C 8G (配置越高编译越快,4G内存编译不了,磁盘大概需要14GB) # 安装一些依赖 (libaio-devel如果不卸载重装,可能会找不到io_c…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
