Example #1
0
 def handel_data(self):
     wb = openpyxl.load_workbook(self.filename)
     results = get_yan_info(wb)
     count_data = {
         "jia": {
             "count": 0,
             "price": 0
         },
         "si": {
             "count": 0,
             "price": 0
         },
         "fei": {
             "count": 0,
             "price": 0
         },
         "count": 0,
         "price": 0,
         "is_tiao": False,
         "has_card": True
     }
     self.table_info.setRowCount(len(results))
     for index, result in enumerate(results):
         # 渲染数据
         self.table_info.setItem(index, 0,
                                 QTableWidgetItem(result["yan_id"]))
         self.table_info.setItem(index, 1,
                                 QTableWidgetItem(result["yan_name"]))
         self.table_info.setItem(index, 2,
                                 QTableWidgetItem(result["yan_price"]))
         self.table_info.setItem(index, 3,
                                 QTableWidgetItem(result["yan_unit"]))
         self.table_info.setItem(index, 4,
                                 QTableWidgetItem(result["yan_sort"]))
         self.table_info.setItem(index, 5,
                                 QTableWidgetItem(result["yan_count"]))
         self.table_info.setItem(index, 6,
                                 QTableWidgetItem(result["yan_total"]))
         # 统计数据
         count_data["count"] += int(result["yan_count"])
         count_data["price"] += float(result["yan_total"])
         if result["yan_sort"] == "假":
             count_data["jia"]["count"] += int(result["yan_count"])
             count_data["jia"]["price"] += float(result["yan_total"])
         elif result["yan_sort"] == "非":
             count_data["fei"]["count"] += int(result["yan_count"])
             count_data["fei"]["price"] += float(result["yan_total"])
         else:
             count_data["si"]["count"] += int(result["yan_count"])
             count_data["si"]["price"] += float(result["yan_total"])
         if "条" in result["yan_unit"]:
             count_data["is_tiao"] = True
     # 判断有证与否
     ws = wb["许可证照片"]
     if ws["A1"].value == "无证":
         count_data["has_card"] = False
     return count_data
Example #2
0
    def __init__(self, base_path):
        super(PrintYiBan, self).__init__()
        self.filename = base_path + "案件信息.xlsx"
        self.base_path = base_path
        wb = openpyxl.load_workbook(self.filename)
        style_str = "QLabel{font-size: 30px;}" + "QLineEdit{font-size: 30px;}" + \
                    "QPushButton{font-size: 25px; background-color: green; min-height: 35px}" + \
                    "QComboBox{font-size: 30px;}" + "QCheckBox{font-size: 30px;}" + \
                    "QHeaderView{font-size: 25px;} QTableWidget{font-size: 25px;}" + \
                    "QDateTimeEdit{font-size: 30px;} QMessageBox{font-size: 30px;}"
        self.setStyleSheet(style_str)

        self.browser = QWebEngineView()
        self.browser.settings().setAttribute(
            QWebEngineSettings.AllowRunningInsecureContent, True)

        url = "C:/html_tmp/yiban.html"
        self.browser.load(QUrl(url))

        layout = QGridLayout()
        yan_data = get_yan_info(wb)
        row_index = 0
        for i in range(math.ceil(len(yan_data) / 10)):
            print_xbtz = PrintBtn(index=i, name="先保通知单%d" % (i + 1))
            print_xbtz.clicked.connect(self.print_xbtz)
            layout.addWidget(print_xbtz, row_index, 0)
            row_index += 1
        # 现场勘验笔录
        btn_print_ky = QPushButton("现场勘验笔录")
        btn_print_ky.clicked.connect(self.print_ky)
        layout.addWidget(btn_print_ky, row_index, 0)
        row_index += 1
        # 抽样记录
        chou_data = get_chou_data(wb["一般案件"])
        for i in range(math.ceil(len(chou_data) / 15)):
            print_chou = PrintBtn(index=i, name="抽样记录表%d" % (i + 1))
            print_chou.clicked.connect(self.print_chou)
            layout.addWidget(print_chou, row_index, 0)
            row_index += 1

        self.btn_print_fm = QPushButton("打印封面")
        self.btn_print_fm.clicked.connect(self.print_fm)
        layout.addWidget(self.btn_print_fm, row_index + 1, 0)
        self.btn_back = QPushButton("修改数据")
        layout.addWidget(self.btn_back, row_index + 2, 0)
        self.btn_next = QPushButton("下一步")
        layout.addWidget(self.btn_next, row_index + 3, 0)
        layout.addWidget(self.browser, row_index + 4, 0)
        self.setLayout(layout)
Example #3
0
    def __init__(self, base_path):
        super(PrintLingHe, self).__init__()
        self.filename = base_path + "案件信息.xlsx"
        self.base_path = base_path
        style_str = "QLabel{font-size: 30px;}" + "QLineEdit{font-size: 30px;}" + \
                    "QPushButton{font-size: 25px; background-color: green; min-height: 30px}" + \
                    "QComboBox{font-size: 30px;}" + "QCheckBox{font-size: 30px;}" + \
                    "QHeaderView{font-size: 25px;} QTableWidget{font-size: 25px;}" + \
                    "QDateTimeEdit{font-size: 30px;} QMessageBox{font-size: 30px;}"
        self.setStyleSheet(style_str)

        wb = openpyxl.load_workbook(self.filename)

        self.browser = QWebEngineView()
        self.browser.settings().setAttribute(QWebEngineSettings.AllowRunningInsecureContent, True)

        layout = QGridLayout()

        yan_data = get_yan_info(wb)
        row_index = 0
        for i in range(math.ceil(len(yan_data) / 10)):
            print_zy = PrintBtn(index=i, name="打印自愿处理单%d" % (i + 1))
            print_zy.clicked.connect(self.print_zy)
            layout.addWidget(print_zy, row_index, 0)
            row_index += 1
        for i in range(math.ceil(len(yan_data) / 10)):
            print_ky = PrintBtn(index=i, name="现场勘验笔录%d" % (i + 1))
            print_ky.clicked.connect(self.print_ky)
            layout.addWidget(print_ky, row_index, 0)
            row_index += 1
        # 打印封面
        self.btn_print_fm = QPushButton("打印封面")
        self.btn_print_fm.clicked.connect(self.print_fm)
        layout.addWidget(self.btn_print_fm, row_index + 1, 0)
        self.btn_back = QPushButton("修改数据")
        layout.addWidget(self.btn_back, row_index + 2, 0)
        self.btn_next = QPushButton("下一步")
        layout.addWidget(self.btn_next, row_index + 3, 0)

        self.setLayout(layout)
Example #4
0
 def initYanData(self):
     wb = openpyxl.load_workbook(self.filename)
     results = get_yan_info(wb)
     for result in results:
         self.tableAddInfo(result)
Example #5
0
 def __init__(self, base_path):
     super(YiBanCY, self).__init__()
     self.filename = base_path + "案件信息.xlsx"
     self.base_path = base_path
     style_str = "QLabel{font-size: 30px;}" + "QLineEdit{font-size: 30px;}" + \
                 "QPushButton{font-size: 25px; background-color: green; min-height: 35px}" + \
                 "QComboBox{font-size: 30px;}" + "QCheckBox{font-size: 30px;}" + \
                 "QHeaderView{font-size: 25px;} QTableWidget{font-size: 25px;}" + \
                 "QDateTimeEdit{font-size: 30px;} QMessageBox{font-size: 30px;} QTextEdit{font-color: red}"
     self.setStyleSheet(style_str)
     init_data = self.get_init_info()
     layout = QGridLayout()
     # 开始时间
     self.label_start_time = QLabel("开始时间")
     if init_data["start_time"]:
         self.edit_start_time = QDateTimeEdit(
             datetime.strptime(init_data["start_time"], "%Y-%m-%d %H:%M"))
     else:
         self.edit_start_time = QDateTimeEdit(datetime.now())
     self.edit_start_time.setDisplayFormat("yyyy-MM-dd HH:mm")
     layout.addWidget(self.label_start_time, 0, 0)
     layout.addWidget(self.edit_start_time, 0, 1)
     # 结束时间
     self.label_end_time = QLabel("结束时间")
     if init_data["end_time"]:
         self.edit_end_time = QDateTimeEdit(
             datetime.strptime(init_data["end_time"], "%Y-%m-%d %H:%M"))
     else:
         self.edit_end_time = QDateTimeEdit(datetime.now())
     self.edit_end_time.setDisplayFormat("yyyy-MM-dd HH:mm")
     layout.addWidget(self.label_end_time, 0, 2)
     layout.addWidget(self.edit_end_time, 0, 3)
     # 被检查人(工商户字号,公司名称)
     self.label_beijiancharen = QLabel("被检查人(工商户字号,公司名称)")
     if init_data["beijiancharen"]:
         self.edit_beijiancharen = QLineEdit(init_data["beijiancharen"])
     else:
         self.edit_beijiancharen = QLineEdit()
     layout.addWidget(self.label_beijiancharen, 1, 0)
     layout.addWidget(self.edit_beijiancharen, 1, 1)
     # 联系方式
     self.label_lianxifangshi = QLabel("联系方式")
     if init_data["lianxifangshi"]:
         self.edit_lianxifangshi = QLineEdit(init_data["lianxifangshi"])
     else:
         self.edit_lianxifangshi = QLineEdit()
     layout.addWidget(self.label_lianxifangshi, 1, 2)
     layout.addWidget(self.edit_lianxifangshi, 1, 3)
     # 经营者姓名(法定代表人)
     self.label_jingyingzhe = QLabel("经营者姓名(法定代表人)")
     if init_data["jingyingzhe"]:
         self.edit_jingyingzhe = QLineEdit(init_data["jingyingzhe"])
     else:
         self.edit_jingyingzhe = QLineEdit()
     layout.addWidget(self.label_jingyingzhe, 2, 0)
     layout.addWidget(self.edit_jingyingzhe, 2, 1)
     # 身份证件号码
     self.label_shenfenzheng = QLabel("身份证件号码")
     if init_data["shenfenzheng"]:
         self.edit_shenfenzheng = QLineEdit(init_data["shenfenzheng"])
     else:
         self.edit_shenfenzheng = QLineEdit()
     layout.addWidget(self.label_shenfenzheng, 2, 2)
     layout.addWidget(self.edit_shenfenzheng, 2, 3)
     # 身份证件地址
     self.label_shenfenzheng_dizhi = QLabel("身份证件地址")
     if init_data["shenfenzheng_dizhi"]:
         self.edit_shenfenzheng_dizhi = QLineEdit(
             init_data["shenfenzheng_dizhi"])
     else:
         self.edit_shenfenzheng_dizhi = QLineEdit()
     layout.addWidget(self.label_shenfenzheng_dizhi, 3, 0)
     layout.addWidget(self.edit_shenfenzheng_dizhi, 3, 1)
     # 烟草专卖许可证号码
     self.label_xukezheng = QLabel("烟草专卖许可证号码")
     if init_data["xukezheng"]:
         self.edit_xukezheng = QLineEdit(init_data["xukezheng"])
     else:
         self.edit_xukezheng = QLineEdit()
     layout.addWidget(self.label_xukezheng, 3, 2)
     layout.addWidget(self.edit_xukezheng, 3, 3)
     # 零售户类型
     self.label_lingshouhu = QLabel("零售户类型")
     self.edit_lingshouhu = QComboBox()
     self.edit_lingshouhu.addItems(["个体零售户", "企业零售户"])
     if init_data["lingshouhu"]:
         self.edit_lingshouhu.setCurrentText(init_data["lingshouhu"])
     layout.addWidget(self.label_lingshouhu, 4, 0)
     layout.addWidget(self.edit_lingshouhu, 4, 1)
     # 举报时间(非举报不填写)
     self.jvbao_time = QLabel("举报时间(非举报不填写)")
     if init_data["jvbao_time"]:
         self.edit_jvbao_time = QDateTimeEdit(
             datetime.strptime(init_data["jvbao_time"], "%Y-%m-%d %H:%M"))
     else:
         self.edit_jvbao_time = QDateTimeEdit(
             datetime.strptime("2000-01-01 00:00", "%Y-%m-%d %H:%M"))
     self.edit_jvbao_time.setDisplayFormat("yyyy-MM-dd HH:mm")
     layout.addWidget(self.jvbao_time, 4, 2)
     layout.addWidget(self.edit_jvbao_time, 4, 3)
     # 案发时间
     self.label_qita_guanxiren = QLabel("其他关系人")
     if init_data["qita_guanxiren"]:
         self.edit_qita_guanxiren = QLineEdit(init_data["qita_guanxiren"])
     else:
         self.edit_qita_guanxiren = QLineEdit("店员")
     layout.addWidget(self.label_qita_guanxiren, 5, 0)
     layout.addWidget(self.edit_qita_guanxiren, 5, 1)
     # 执法人员
     self.label_zhifarenyuan = QLabel("执法人员")
     if init_data["zhifarenyuan"]:
         self.edit_zhifarenyuan = QLineEdit(init_data["zhifarenyuan"])
     else:
         self.edit_zhifarenyuan = QLineEdit()
     layout.addWidget(self.label_zhifarenyuan, 5, 2)
     layout.addWidget(self.edit_zhifarenyuan, 5, 3)
     # 许可证有效期
     self.label_xukezheng_end = QLabel("许可证有效期")
     if init_data["xukezheng_end"]:
         self.edit_xukezheng_end = QDateEdit(
             datetime.strptime(init_data["xukezheng_end"],
                               "%Y-%m-%d").date())
     else:
         self.edit_xukezheng_end = QDateEdit(datetime.now().date())
     self.edit_xukezheng_end.setDisplayFormat("yyyy-MM-dd")
     layout.addWidget(self.label_xukezheng_end, 6, 0)
     layout.addWidget(self.edit_xukezheng_end, 6, 1)
     # 许可证地址
     self.label_location = QLabel("许可证地址")
     if init_data["location"]:
         self.edit_location = QLineEdit(init_data["location"])
     else:
         self.edit_location = QLineEdit()
     layout.addWidget(self.label_location, 6, 2)
     layout.addWidget(self.edit_location, 6, 3)
     # 案由选择
     self.label_anyou = QLabel("案由")
     self.edit_anyou = AnYou(init_data["anyou"])
     layout.addWidget(self.label_anyou, 7, 0)
     layout.addWidget(self.edit_anyou, 7, 1, 1, 3)
     # 抽样规则
     rule_str = '<p><font color="red">1.数量不足两条:抽取一条或全部数量形成试样。</font></p>'
     rule_str += '<p><font color="red">2.数量2件以下:所有样品中抽取1~2条形成试样。</font></p>'
     rule_str += '<p><font color="red">3.数量5件以下:每件抽取1~2条,形成样本,再从样本中随机抽取2条形成试样。</font></p>'
     rule_str += '<p><font color="red">4.数量5件~10件:每件中随机抽取1条,形成样本,在从样本中随机抽取2条形成试样。</font></p>'
     rule_str += '<p><font color="red">5.数量10件~50件:随机抽取10件,从每件中随机抽取1条,形成样本,再从样本中随机抽取2~5条形成试样。</font></p>'
     rule_str += '<p><font color="red">6.数量50件以上:随机抽取20件,从每件中随机抽取1条,形成样本,再从样本中随机抽取5~10条形成试样。</font></p>'
     self.chou_rule = QTextEdit()
     self.chou_rule.setHtml(rule_str)
     self.chou_rule.setFixedHeight(130)
     self.label_chou_rule = QLabel("抽样规则")
     layout.addWidget(self.label_chou_rule, 8, 0)
     layout.addWidget(self.chou_rule, 8, 1, 1, 3)
     # 抽样记录表
     self.table_info = QTableWidget()
     self.table_info.setColumnCount(4)
     self.table_info.setHorizontalHeaderLabels(
         ["物品名称", "品牌规格", "查获数量(条)", "抽样数量(条)"])
     self.table_info.horizontalHeader().setSectionResizeMode(
         QHeaderView.Stretch)
     if not init_data["chou_data"]:
         wb = openpyxl.load_workbook(self.filename)
         yan_datas = get_yan_info(wb)
         for yan_data in yan_datas:
             init_data["chou_data"].append({
                 "yan_name":
                 yan_data["yan_name"],
                 "yan_count":
                 yan_data["yan_count"],
                 "yan_chou":
                 1,
                 "yan_pinzhong":
                 yan_data["yan_pinzhong"]
             })
     self.init_table(init_data["chou_data"])
     # 提交按钮
     self.btn_finish = QPushButton("完成")
     layout.addWidget(self.table_info, 9, 0, 1, 4)
     layout.addWidget(self.btn_finish, 10, 0, 1, 4)
     self.setLayout(layout)
Example #6
0
 def __init__(self, base_path):
     super(XiaoWeiXB, self).__init__()
     self.filename = base_path + "案件信息.xlsx"
     self.base_path = base_path
     style_str = "QLabel{font-size: 30px;}" + "QLineEdit{font-size: 30px;}" + \
                 "QPushButton{font-size: 25px; background-color: green; min-height: 30px}" + \
                 "QComboBox{font-size: 30px;}" + "QCheckBox{font-size: 30px;}" + \
                 "QHeaderView{font-size: 25px;} QTableWidget{font-size: 25px;}" + \
                 "QDateTimeEdit{font-size: 30px;} QMessageBox{font-size: 30px;}"
     self.setStyleSheet(style_str)
     init_data = self.get_init_info()
     layout = QGridLayout()
     # 开始时间
     self.label_start_time = QLabel("开始时间")
     if init_data["start_time"]:
         self.edit_start_time = QDateTimeEdit(
             datetime.strptime(init_data["start_time"], "%Y-%m-%d %H:%M"))
     else:
         self.edit_start_time = QDateTimeEdit(datetime.now())
     self.edit_start_time.setDisplayFormat("yyyy-MM-dd HH:mm")
     layout.addWidget(self.label_start_time, 0, 0)
     layout.addWidget(self.edit_start_time, 0, 1)
     # 结束时间
     self.label_end_time = QLabel("结束时间")
     if init_data["end_time"]:
         self.edit_end_time = QDateTimeEdit(
             datetime.strptime(init_data["end_time"], "%Y-%m-%d %H:%M"))
     else:
         self.edit_end_time = QDateTimeEdit(datetime.now())
     self.edit_end_time.setDisplayFormat("yyyy-MM-dd HH:mm")
     layout.addWidget(self.label_end_time, 0, 2)
     layout.addWidget(self.edit_end_time, 0, 3)
     # 被检查人(工商户字号,公司名称)
     self.label_beijiancharen = QLabel("被检查人(工商户字号,公司名称)")
     if init_data["beijiancharen"]:
         self.edit_beijiancharen = QLineEdit(init_data["beijiancharen"])
     else:
         self.edit_beijiancharen = QLineEdit()
     layout.addWidget(self.label_beijiancharen, 1, 0)
     layout.addWidget(self.edit_beijiancharen, 1, 1)
     # 联系方式
     self.label_lianxifangshi = QLabel("联系方式")
     if init_data["lianxifangshi"]:
         self.edit_lianxifangshi = QLineEdit(init_data["lianxifangshi"])
     else:
         self.edit_lianxifangshi = QLineEdit()
     layout.addWidget(self.label_lianxifangshi, 1, 2)
     layout.addWidget(self.edit_lianxifangshi, 1, 3)
     # 经营者姓名(法定代表人)
     self.label_jingyingzhe = QLabel("经营者姓名(法定代表人)")
     if init_data["jingyingzhe"]:
         self.edit_jingyingzhe = QLineEdit(init_data["jingyingzhe"])
     else:
         self.edit_jingyingzhe = QLineEdit()
     layout.addWidget(self.label_jingyingzhe, 2, 0)
     layout.addWidget(self.edit_jingyingzhe, 2, 1)
     # 身份证件号码
     self.label_shenfenzheng = QLabel("身份证件号码")
     if init_data["shenfenzheng"]:
         self.edit_shenfenzheng = QLineEdit(init_data["shenfenzheng"])
     else:
         self.edit_shenfenzheng = QLineEdit()
     layout.addWidget(self.label_shenfenzheng, 2, 2)
     layout.addWidget(self.edit_shenfenzheng, 2, 3)
     # 身份证件地址
     self.label_shenfenzheng_dizhi = QLabel("身份证件地址")
     if init_data["shenfenzheng_dizhi"]:
         self.edit_shenfenzheng_dizhi = QLineEdit(
             init_data["shenfenzheng_dizhi"])
     else:
         self.edit_shenfenzheng_dizhi = QLineEdit()
     layout.addWidget(self.label_shenfenzheng_dizhi, 3, 0)
     layout.addWidget(self.edit_shenfenzheng_dizhi, 3, 1)
     # 烟草专卖许可证号码
     self.label_xukezheng = QLabel("烟草专卖许可证号码")
     if init_data["xukezheng"]:
         self.edit_xukezheng = QLineEdit(init_data["xukezheng"])
     else:
         self.edit_xukezheng = QLineEdit()
     layout.addWidget(self.label_xukezheng, 3, 2)
     layout.addWidget(self.edit_xukezheng, 3, 3)
     # 委托人姓名
     self.label_weituoren = QLabel("委托人姓名")
     if init_data["weituoren"]:
         self.edit_weituoren = QLineEdit(init_data["weituoren"])
     else:
         self.edit_weituoren = QLineEdit()
     layout.addWidget(self.label_weituoren, 4, 0)
     layout.addWidget(self.edit_weituoren, 4, 1)
     # 身份证件号码
     self.label_shenfenzheng1 = QLabel("身份证件号码")
     if init_data["shenfenzheng1"]:
         self.edit_shenfenzheng1 = QLineEdit(init_data["shenfenzheng1"])
     else:
         self.edit_shenfenzheng1 = QLineEdit()
     layout.addWidget(self.label_shenfenzheng1, 4, 2)
     layout.addWidget(self.edit_shenfenzheng1, 4, 3)
     # 案由选择
     self.label_anyou = QLabel("案由")
     layout.addWidget(self.label_anyou, 5, 0)
     self.edit_anyou = AnYou(init_data["anyou"])
     layout.addWidget(self.edit_anyou, 5, 1, 1, 3)
     self.label_location = QLabel("许可证地址")
     self.edit_location = QLineEdit()
     if init_data["location"]:
         self.edit_location.setText(init_data["location"])
     layout.addWidget(self.label_location, 6, 0)
     layout.addWidget(self.edit_location, 6, 1)
     # 分类table
     self.table_info = QTableWidget()
     self.table_info.setColumnCount(6)
     self.table_info.setHorizontalHeaderLabels(
         ["品牌", "规格", "数量", "总价", "特征1", "特征2"])
     self.table_info.horizontalHeader().setSectionResizeMode(
         QHeaderView.Stretch)
     wb = openpyxl.load_workbook(self.filename)
     yan_datas = get_yan_info(wb)
     wb.close()
     self.setUI_table(yan_datas)
     layout.addWidget(self.table_info, 7, 0, 1, 4)
     # 完成按钮
     self.btn_finish = QPushButton("完成")
     layout.addWidget(self.btn_finish, 8, 0, 1, 4)
     # 设置格式
     self.setLayout(layout)