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…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...

Spring AOP代理对象生成原理
代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...