Exemple #1
0
    def deal_data(self):
        cur = datetime.datetime.now()
        year = cur.year
        month = cur.month
        # 获取demo
        excel_data = deepcopy(Globals.get_origin_excel_data())
        target_file_name = self.out_put_filename
        origin_data = []
        target_rows = []
        # 处理数据
        for i in range(len(origin_data)):
            one_data = origin_data[i]
            row = deepcopy(Globals.pingzheng_demo)
            row2 = deepcopy(Globals.pingzheng_demo)
            target_rows.append(row)
            target_rows.append(row2)
            row[Globals.get_pingzheng_idx("记账日期")] = data_str
            row2[Globals.get_pingzheng_idx("记账日期")] = data_str
            row[Globals.get_pingzheng_idx("业务日期")] = data_str
            row2[Globals.get_pingzheng_idx("业务日期")] = data_str
            row[Globals.get_pingzheng_idx("辅助账业务日期")] = data_str
            row2[Globals.get_pingzheng_idx("辅助账业务日期")] = data_str
            row[Globals.get_pingzheng_idx("会计期间")] = str(cur.month)
            row2[Globals.get_pingzheng_idx("会计期间")] = str(cur.month)
            row[Globals.get_pingzheng_idx("凭证类型")] = "转"
            row2[Globals.get_pingzheng_idx("凭证类型")] = "转"
            row[Globals.get_pingzheng_idx("凭证号")] = "20180600269"
            row2[Globals.get_pingzheng_idx("凭证号")] = "20180600269"
            row[Globals.get_pingzheng_idx("分录号")] = i * 2 + 1
            row2[Globals.get_pingzheng_idx("分录号")] = i * 2 + 2
            zhaiyao = ""
            row[Globals.get_pingzheng_idx("摘要")] = zhaiyao
            row2[Globals.get_pingzheng_idx("摘要")] = zhaiyao
            row[Globals.get_pingzheng_idx("科目")] = ""
            row2[Globals.get_pingzheng_idx("科目")] = ""
            row[Globals.get_pingzheng_idx("方向")] = 1
            row[Globals.get_pingzheng_idx("原币金额")] = 1
            row2[Globals.get_pingzheng_idx("原币金额")] = 1
            row2[Globals.get_pingzheng_idx("原币金额")] = -1
            row[Globals.get_pingzheng_idx("借方金额")] = 1
            row[Globals.get_pingzheng_idx("现金流量标记")] = 2
            row2[Globals.get_pingzheng_idx("现金流量标记")] = 2
            row[Globals.get_pingzheng_idx("辅助账摘要")] = zhaiyao
            row2[Globals.get_pingzheng_idx("辅助账摘要")] = zhaiyao
            row[Globals.get_pingzheng_idx("核算项目1")] = "长益租户"
            row[Globals.get_pingzheng_idx("名称1")] = ""
            row[Globals.get_pingzheng_idx("编码1")] = ""

        for row in target_rows:
            excel_data["凭证"].append(row)
        save_data(target_file_name, excel_data)
        Globals.eval_date_format(target_file_name, ["B", "C", "BN"])
    def deal_zhifubao_data(self):
        target_excel = {"凭证": []}
        target_data = target_excel["凭证"]
        row1 = [
            "公司",
            "记账日期",
            "业务日期",
            "会计期间",
            "凭证类型",
            "凭证号",
            "分录号",
            "摘要",
            "科目",
            "币种",
            "汇率",
            "方向",
            "原币金额",
            "数量",
            "单价",
            "借方金额",
            "贷方金额",
            "制单人",
            "过账人",
            "审核人",
            "附件数量",
            "过账标记",
            "机制凭证模块",
            "删除标记",
            "凭证序号",
            "单位",
            "参考信息",
            "是否有现金流量",
            "现金流量标记",
            "业务编号",
            "结算方式",
            "结算号",
            "辅助账摘要",
            "核算项目1",
            "编码1",
            "名称1",
            "核算项目2",
            "编码2",
            "名称2",
            "核算项目3",
            "编码3",
            "名称3",
            "核算项目4",
            "编码4",
            "名称4",
            "核算项目5",
            "编码5",
            "名称5",
            "核算项目6",
            "编码6",
            "名称6",
            "核算项目7",
            "编码7",
            "名称7",
            "核算项目8",
            "编码8",
            "名称8",
            "发票号",
            "换票证号",
            "客户",
            "费用类别",
            "收款人",
            "物料",
            "财务组织",
            "供应商",
            "辅助账业务日期",
            "到期日",
        ]
        target_data.append(row1)
        row2 = [
            "公司", "记账日期", "会计期间", "凭证类型", "凭证号", "币种", "分录号", "对方分录号", "主表信息",
            "附表信息", "原币", "本位币", "报告币", "主表金额系数", "附表金额系数", "性质", "核算项目1",
            "编码1", "名称1", "核算项目2", "编码2", "名称2", "核算项目3", "编码3", "名称3",
            "核算项目4", "编码4", "名称4", "核算项目5", "编码5", "名称5", "核算项目6", "编码6",
            "名称6", "核算项目7", "编码7", "名称7", "核算项目8", "编码8", "名称8"
        ]
        target_excel["现金流量"] = [row2]
        refer_data = self.refer_data
        bank_data = self.my_data

        target_rows = []
        row_num = len(bank_data) - 1

        date_str = self.label.text()
        month = date_str.split('/')[1]
        last_month = int(month) - 2
        if last_month == 0:
            last_month = 12
        elif last_month == -1:
            last_month = 11
        if last_month < 10:
            last_month = "0" + str(last_month)
        else:
            last_month = str(last_month)

        year = date_str.split('/')[0]
        day = date_str.split('/')[2]
        # 替换信息
        # replace_dict = self.get_replace_dict()
        # 银行凭证号
        #pingzhenghao_bank_idx = bank_data[0].index("凭证号")
        # 原币金额索引
        #yuanbijine_bank_idx = bank_data[0].index("原币金额")
        # 核算项目索引
        #hesuanxiangmu_bank_idx = bank_data[0].index("核算项目")
        # 贷方金额
        daifangjine_bank_idx = bank_data[0].index("贷方发生额")
        # 摘要
        zhaiyao_bank_idx = bank_data[0].index("摘要")
        # 交易时间
        jiaoyitime_bank_idx = bank_data[0].index("交易时间")

        for i in range(row_num):
            idx = i + 1
            row = []
            row2 = []
            target_rows.append(row)
            # target_rows.append(row2)
            # 公司
            row.append("E018")
            row2.append("E018")
            # 记账日期
            row.append(date_str)
            row2.append(date_str)
            # 业务日期
            row.append(date_str)
            row2.append(date_str)
            # 会计期间
            row.append(int(month))
            row2.append(int(month))
            # 凭证类型
            row.append("收")
            row2.append("收")
            # 凭证号
            row.append("20181100963")
            row2.append("20181100963")
            # 分录号
            row.append(idx)
            row2.append(idx * 2)
            # 摘要
            jiaoyitime_str = bank_data[idx][jiaoyitime_bank_idx].split()[0]
            middle_str = "收到 微信一点停支付宝返款-"
            zhiayao_str = bank_data[idx][zhaiyao_bank_idx]
            zhaiyao_value = jiaoyitime_str + middle_str + zhiayao_str
            row.append(zhaiyao_value)
            row2.append("")
            # 科目
            row.append("1002.01")
            row2.append("1002.01")
            # 币种
            row.append("BB01")
            row2.append("BB01")
            # 汇率
            row.append(1)
            row2.append(1)
            # 方向
            row.append(1)
            row2.append(0)
            # 原币金额
            money_str = bank_data[idx][daifangjine_bank_idx].replace(",", "")
            curr_money = float(money_str)
            row.append(curr_money)
            row2.append(curr_money)
            # sum = sum + int(curr_money * 100)
            # 数量
            row.append(0)
            row2.append(0)
            # 单价
            row.append(0)
            row2.append(0)
            # 借方金额
            row.append(curr_money)
            row2.append("")
            # 贷方金额
            row.append("")
            row2.append("")
            # 制单人
            row.append(Globals.eas_name)
            row2.append(Globals.eas_name)
            # 过账人
            row.append("")
            row2.append("")
            # 审核人
            row.append("")
            row2.append("")
            # 附件数量
            row.append(1)
            row2.append(1)
            # 过账标记
            row.append("TRUE")
            row2.append("TRUE")
            # 机制凭证
            row.append("")
            row2.append("")
            # 删除标记
            row.append("FALSE")
            row2.append("FALSE")
            # 凭证序号
            row.append("1544876875657--0")
            row2.append("1544876875657--0")
            # 单位
            row.append("")
            row2.append("")
            # 参考信息
            row.append("")
            row2.append("")
            # 是否有现金流量
            row.append("")
            row2.append("")
            # 现金流量标记
            row.append(6)
            row2.append(6)
            # 业务编号
            row.append("")
            row2.append("")
            # 结算方式
            row.append("")
            row2.append("")
            # 结算号
            row.append("")
            row2.append("")
            # 辅助账摘要
            row.append(zhaiyao_value)
            row2.append("")
            # 核算项目1
            row.append("银行账户")
            row2.append("")
            # 编码1
            row.append("001.E018")
            row2.append("")
            # 名称1
            row.append("工商银行古北新区支行1001282509300071274")
            row2.append("")
            # 核算项目2
            row.append("现金流量项目")
            row2.append("")
            # 编码2
            row.append("111")
            row2.append("")
            # 名称2
            row.append("出租业务所收到的现金")
            row2.append("")

            # 项目3
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目4
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目5
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目6
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目7
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目8
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 发票号
            row.append("")
            row2.append("")
            # 换票证号
            row.append("")
            row2.append("")
            # 客户
            row.append("")
            row2.append("")
            # 费用类别
            row.append("")
            row2.append("")
            # 收款人
            row.append("")
            row2.append("")
            # 物料
            row.append("")
            row2.append("")
            # 财务组织
            row.append("")
            row2.append("")
            # 供应商
            row.append("")
            row2.append("")
            # 辅助帐业务日期
            row.append(date_str)
            row2.append("")
            # 到期日
            row.append("")
            row2.append("")

        for row in target_rows:
            target_data.append(row)

        # 处理结算的
        last_row = deepcopy(target_data[-1])
        title_row = target_data[0]
        jine_idx = title_row.index("原币金额")
        sum = 0
        for i in range(row_num):
            idx = i + 1
            row = target_data[idx]
            sum = sum + float(row[jine_idx])

        last_row[title_row.index("摘要")] = "收到 上海七宝万科停车场停车费-支付宝返款"
        last_row[title_row.index("科目")] = "1122.99"
        last_row[title_row.index("方向")] = "0"
        last_row[title_row.index("原币金额")] = float("%.2f" % (sum))
        last_row[title_row.index("借方金额")] = ""
        last_row[title_row.index("贷方金额")] = float("%.2f" % (sum))
        last_row[title_row.index("辅助账摘要")] = "收到 上海七宝万科停车场停车费-支付宝返款"
        last_row[title_row.index("核算项目1")] = "客户"
        last_row[title_row.index("编码1")] = "0503.E018"
        last_row[title_row.index("分录号")] = len(target_data)
        idx = title_row.index("名称1")
        last_row[idx] = "微信一点停"
        last_row[idx + 1] = ""
        last_row[idx + 2] = ""
        last_row[idx + 3] = ""
        target_data.append(last_row)
        save_data(self.out_put_filename, target_excel)
        # 处理日期
        Globals.eval_date_format(self.out_put_filename, ["B", "C", "BN"])
Exemple #3
0
	def deal_data(self):
		target_excel = {"凭证":[]}
		target_data = target_excel["凭证"]
		row1 = [
			"公司",
			"记账日期",
			"业务日期",
			"会计期间",
			"凭证类型",
			"凭证号",
			"分录号",
			"摘要",
			"科目",
			"币种",
			"汇率",
			"方向",
			"原币金额",
			"数量",
			"单价",
			"借方金额",
			"贷方金额",
			"制单人",
			"过账人",
			"审核人",
			"附件数量",
			"过账标记",
			"机制凭证模块",
			"删除标记",
			"凭证序号",
			"单位",
			"参考信息",
			"是否有现金流量",
			"现金流量标记",
			"业务编号",
			"结算方式",
			"结算号",
			"辅助账摘要",
			"核算项目1",
			"编码1",
			"名称1",
			"核算项目2",
			"编码2",
			"名称2",
			"核算项目3",
			"编码3",
			"名称3",
			"核算项目4",
			"编码4",
			"名称4",
			"核算项目5",
			"编码5",
			"名称5",				
			"核算项目6",
			"编码6",
			"名称6",
			"核算项目7",
			"编码7",
			"名称7",
			"核算项目8",
			"编码8",
			"名称8",
			"发票号",
			"换票证号",
			"客户",
			"费用类别",
			"收款人",
			"物料",
			"财务组织",
			"供应商",
			"辅助账业务日期",
			"到期日",
		]
		target_data.append(row1)
		row2 = ["公司",	"记账日期",	"会计期间",	"凭证类型",	"凭证号",	"币种",	"分录号",	"对方分录号",	"主表信息",	"附表信息",	"原币",	"本位币",	"报告币", "主表金额系数",	"附表金额系数",	"性质",	"核算项目1",	"编码1",	 "名称1",	"核算项目2",	"编码2",	"名称2",	"核算项目3",	"编码3",	 "名称3", 	"核算项目4",	"编码4",	"名称4",	"核算项目5",	"编码5",	"名称5",	"核算项目6",	"编码6",	"名称6",	"核算项目7",	"编码7",	"名称7",	"核算项目8",	"编码8", "名称8"	]
		target_excel["现金流量"] = [row2]
		refer_data = self.bank_data
		bank_data = self.my_data

		target_rows = []
		row_num = len(bank_data) - 1
		for i in range(row_num):
			target_rows.append([])



		date_str = self.label.text()
		month = date_str.split('/')[1]
		# 替换信息
		replace_dict = self.get_replace_dict(refer_data)

		# 银行凭证号
		pingzhenghao_bank_idx = bank_data[0].index("凭证号")
		# 摘要索引
		zhaoyao_bank_idx = bank_data[0].index("摘要")
		# 方向索引
		fangxiang_bank_idx = bank_data[0].index("方向")
		# 原币金额索引
		yuanbijine_bank_idx = bank_data[0].index("原币金额")
		# 借方金额索引
		jiefangjine_bank_idx = bank_data[0].index("借方金额")
		# 贷方金额
		daifangjine_bank_idx = bank_data[0].index("贷方金额")
		# 科目索引
		kemu_bank_idx = bank_data[0].index("科目")
		# 名称1索引
		mingcheng1_idx = bank_data[0].index("名称1")

		idx = 0
		for row in target_rows:
			idx = idx + 1
			# 公司
			row.append("E018")
			# 记账日期
			row.append(date_str)
			# 业务日期
			row.append(date_str)
			# 会计期间
			row.append(int(month))
			# 凭证类型
			row.append("付")
			# 凭证号
			row.append("20180600828")
			# 分录号
			row.append(idx)
			# 摘要
			zhaiyao_value = bank_data[idx][pingzhenghao_bank_idx] + " "+ bank_data[idx][zhaoyao_bank_idx]
			row.append(zhaiyao_value)
			# 科目
			kemu_bank_data = str(bank_data[idx][kemu_bank_idx])
			if kemu_bank_data in replace_dict["科目"]:
				kemu_bank_data = replace_dict["科目"][kemu_bank_data]
				# 如果科目是6401.06并且摘要里面有报销
				if kemu_bank_data == "6401.06" and "报销:" in zhaiyao_value:
					kemu_bank_data = "6401.07.01"
				row.append(kemu_bank_data)
			else:
				self.log("基础信息需要补充地产科目:" + kemu_bank_data, ShowWindow.LOG_ERROR)
				row.append("")
			# 币种
			row.append("BB01")
			# 汇率
			row.append(1)
			# 方向
			row.append(int(bank_data[idx][fangxiang_bank_idx]))
			# 原币金额
			row.append(bank_data[idx][yuanbijine_bank_idx])
			# 数量
			row.append(0)
			# 单价
			row.append(0)
			# 借方金额
			row.append(bank_data[idx][jiefangjine_bank_idx])
			# 贷方金额
			row.append(bank_data[idx][daifangjine_bank_idx])
			# 制单人
			row.append(Globals.eas_name)
			# 过账人
			row.append("")
			# 审核人
			row.append("")
			# 附件数量
			row.append(1)
			# 过账标记
			row.append("TRUE")
			# 机制凭证
			row.append("")
			# 删除标记
			row.append("FALSE")
			# 凭证序号
			row.append("1533086430813--0")
			# 单位
			row.append("")
			# 参考信息
			row.append("")
			# 是否有现金流量
			row.append("")
			# 现金流量标记
			row.append(6)
			# 业务编号
			row.append("")
			# 结算方式
			row.append("")
			# 结算号
			row.append("")
			# 辅助账摘要
			row.append(zhaiyao_value)

			# 核算项目1
			hesuanxiangmu1_value = ""
			if kemu_bank_data in replace_dict["核算项目1"]:
				hesuanxiangmu1_value = replace_dict["核算项目1"][kemu_bank_data]
				row.append(hesuanxiangmu1_value)
			else:
				row.append("")
			# 编码1
			if kemu_bank_data in replace_dict["编码1"]:
				row.append(replace_dict["编码1"][kemu_bank_data])
			else:
				row.append("")
			# 名称1
			mingcheng1_value = ""
			if kemu_bank_data in replace_dict["名称1"]:
				mingcheng1_value = replace_dict["名称1"][kemu_bank_data]
				row.append(mingcheng1_value)
			else:
				if hesuanxiangmu1_value == "部门" or hesuanxiangmu1_value == "职员":
					mingcheng1_value = bank_data[idx][mingcheng1_idx]
					row.append(mingcheng1_value)
				else:
					row.append("")

			# 根据部门名称再次计算编码1
			if hesuanxiangmu1_value == "部门" or hesuanxiangmu1_value == "职员":
				if mingcheng1_value in replace_dict["编码1(用于部门职员)"]:
					row[-2] = replace_dict["编码1(用于部门职员)"][mingcheng1_value]
				else:
					self.log("部门:" + mingcheng1_value + "没有对应编码", self.LOG_ERROR)

			# 核算项目2
			if kemu_bank_data in replace_dict["核算项目2"]:
				row.append(replace_dict["核算项目2"][kemu_bank_data])
			else:
				row.append("")
			# 编码2
			if kemu_bank_data in replace_dict["编码2"]:
				row.append(replace_dict["编码2"][kemu_bank_data])
			else:
				row.append("")
			# 名称2
			if kemu_bank_data in replace_dict["名称2"]:
				row.append(replace_dict["名称2"][kemu_bank_data])
			else:
				row.append("")

			# 项目3
			row.append("")
			row.append("")
			row.append("")
			# 项目4
			row.append("")
			row.append("")
			row.append("")
			# 项目5
			row.append("")
			row.append("")
			row.append("")
			# 项目6
			row.append("")
			row.append("")
			row.append("")
			# 项目7
			row.append("")
			row.append("")
			row.append("")
			# 项目8
			row.append("")
			row.append("")
			row.append("")
			# 发票号
			row.append("")
			# 换票证号
			row.append("")
			# 客户
			row.append("")
			# 费用类别
			row.append("")
			# 收款人
			row.append("")
			# 物料
			row.append("")
			# 财务组织
			row.append("")
			# 供应商
			row.append("")
			# 辅助帐业务日期
			row.append(date_str)
			# 到期日
			row.append("")


		for row in target_rows:
			target_data.append(row)
		save_data(self.out_put_filename, target_excel)
		# 处理日期
		Globals.eval_date_format(self.out_put_filename, ["B", "C", "BN"])
Exemple #4
0
    def deal_data(self):
        target_excel = {"凭证": []}
        target_data = target_excel["凭证"]
        row1 = [
            "公司",
            "记账日期",
            "业务日期",
            "会计期间",
            "凭证类型",
            "凭证号",
            "分录号",
            "摘要",
            "科目",
            "币种",
            "汇率",
            "方向",
            "原币金额",
            "数量",
            "单价",
            "借方金额",
            "贷方金额",
            "制单人",
            "过账人",
            "审核人",
            "附件数量",
            "过账标记",
            "机制凭证模块",
            "删除标记",
            "凭证序号",
            "单位",
            "参考信息",
            "是否有现金流量",
            "现金流量标记",
            "业务编号",
            "结算方式",
            "结算号",
            "辅助账摘要",
            "核算项目1",
            "编码1",
            "名称1",
            "核算项目2",
            "编码2",
            "名称2",
            "核算项目3",
            "编码3",
            "名称3",
            "核算项目4",
            "编码4",
            "名称4",
            "核算项目5",
            "编码5",
            "名称5",
            "核算项目6",
            "编码6",
            "名称6",
            "核算项目7",
            "编码7",
            "名称7",
            "核算项目8",
            "编码8",
            "名称8",
            "发票号",
            "换票证号",
            "客户",
            "费用类别",
            "收款人",
            "物料",
            "财务组织",
            "供应商",
            "辅助账业务日期",
            "到期日",
        ]
        target_data.append(row1)
        row2 = [
            "公司", "记账日期", "会计期间", "凭证类型", "凭证号", "币种", "分录号", "对方分录号", "主表信息",
            "附表信息", "原币", "本位币", "报告币", "主表金额系数", "附表金额系数", "性质", "核算项目1",
            "编码1", "名称1", "核算项目2", "编码2", "名称2", "核算项目3", "编码3", "名称3",
            "核算项目4", "编码4", "名称4", "核算项目5", "编码5", "名称5", "核算项目6", "编码6",
            "名称6", "核算项目7", "编码7", "名称7", "核算项目8", "编码8", "名称8"
        ]
        target_excel["现金流量"] = [row2]
        refer_data = self.refer_data
        bank_data = self.my_data

        target_rows = []
        row_num = len(bank_data) - 1

        date_str = self.label.text()
        month = date_str.split('/')[1]
        last_month = int(month) - 2
        if last_month == 0:
            last_month = 12
        elif last_month == -1:
            last_month = 11
        if last_month < 10:
            last_month = "0" + str(last_month)
        else:
            last_month = str(last_month)

        year = date_str.split('/')[0]
        day = date_str.split('/')[2]
        # 替换信息
        replace_dict = self.get_replace_dict()
        # 银行凭证号
        pingzhenghao_bank_idx = bank_data[0].index("凭证号")
        # 原币金额索引
        yuanbijine_bank_idx = bank_data[0].index("原币金额")
        # 核算项目索引
        hesuanxiangmu_bank_idx = bank_data[0].index("核算项目")
        # 贷方金额
        daifangjine_bank_idx = bank_data[0].index("贷方")
        # 摘要
        zhaiyao_bank_idx = bank_data[0].index("摘要")

        for i in range(row_num):
            idx = i + 1
            row = []
            row2 = []
            target_rows.append(row)
            target_rows.append(row2)
            # 公司
            row.append("E018")
            row2.append("E018")
            # 记账日期
            row.append(date_str)
            row2.append(date_str)
            # 业务日期
            row.append(date_str)
            row2.append(date_str)
            # 会计期间
            row.append(int(month))
            row2.append(int(month))
            # 凭证类型
            row.append("转")
            row2.append("转")
            # 凭证号
            row.append("20181100961")
            row2.append("20181100961")
            # 分录号
            row.append(idx * 2 - 1)
            row2.append(idx * 2)
            # 摘要
            replace_zhaiyao_str = "结转" + year + last_month
            zhaiyao_value = replace_zhaiyao_str + bank_data[idx][
                zhaiyao_bank_idx][2:]
            row.append(zhaiyao_value)
            row2.append(zhaiyao_value)
            # 科目
            row.append("1122.01.01")
            row2.append("6001.13")
            # 币种
            row.append("BB01")
            row2.append("BB01")
            # 汇率
            row.append(1)
            row2.append(1)
            # 方向
            row.append(1)
            row2.append(0)
            # 原币金额
            row.append(bank_data[idx][yuanbijine_bank_idx])
            row2.append(bank_data[idx][yuanbijine_bank_idx])
            # 数量
            row.append(0)
            row2.append(0)
            # 单价
            row.append(0)
            row2.append(0)
            # 借方金额
            row.append(bank_data[idx][daifangjine_bank_idx])
            row2.append("")
            # 贷方金额
            row.append("")
            row2.append(bank_data[idx][daifangjine_bank_idx])
            # 制单人
            row.append(Globals.eas_name)
            row2.append(Globals.eas_name)
            # 过账人
            row.append("")
            row2.append("")
            # 审核人
            row.append("")
            row2.append("")
            # 附件数量
            row.append(1)
            row2.append(1)
            # 过账标记
            row.append("TRUE")
            row2.append("TRUE")
            # 机制凭证
            row.append("")
            row2.append("")
            # 删除标记
            row.append("FALSE")
            row2.append("FALSE")
            # 凭证序号
            row.append("1544857876410--0")
            row2.append("1544857876410--0")
            # 单位
            row.append("")
            row2.append("")
            # 参考信息
            row.append("")
            row2.append("")
            # 是否有现金流量
            row.append("")
            row2.append("")
            # 现金流量标记
            row.append(2)
            row2.append(2)
            # 业务编号
            row.append("")
            row2.append("")
            # 结算方式
            row.append("")
            row2.append("")
            # 结算号
            row.append("")
            row2.append("")
            # 辅助账摘要
            row.append(zhaiyao_value)
            row2.append("")
            # 核算项目1
            row.append("长益租户")
            row2.append("")
            # 编码1
            row.append("")
            row2.append("")
            # 名称1
            name1 = bank_data[idx][hesuanxiangmu_bank_idx].replace(
                "长益租户:", "", 1)
            name1 = name1[:-1]
            row.append(name1)
            row2.append("")
            # 根据名称1修改编码1
            name_number_dict = replace_dict["name_number"]
            if name1 in name_number_dict:
                row[-2] = name_number_dict[name1]

            # 核算项目2
            row.append("")
            row2.append("")
            # 编码2
            row.append("")
            row2.append("")
            # 名称2
            row.append("")
            row2.append("")

            # 项目3
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目4
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目5
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目6
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目7
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 项目8
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            row.append("")
            row2.append("")
            # 发票号
            row.append("")
            row2.append("")
            # 换票证号
            row.append("")
            row2.append("")
            # 客户
            row.append("")
            row2.append("")
            # 费用类别
            row.append("")
            row2.append("")
            # 收款人
            row.append("")
            row2.append("")
            # 物料
            row.append("")
            row2.append("")
            # 财务组织
            row.append("")
            row2.append("")
            # 供应商
            row.append("")
            row2.append("")
            # 辅助帐业务日期
            row.append(date_str)
            row2.append("")
            # 到期日
            row.append("")
            row2.append("")

        idx = 0
        for row in target_rows:
            if len(row) == len(target_data[0]):
                target_data.append(row)
            else:
                print(idx, len(row) - len(target_data[0]))
                idx = idx + 1

        save_data(self.out_put_filename, target_excel)
        # 处理日期
        Globals.eval_date_format(self.out_put_filename, ["B", "C", "BN"])
Exemple #5
0
    def deal_pingzheng_data(self):
        # 先检测一遍基础信息是否齐全
        gongsimingcheng_idx = self.my_data[0].index("公司名称")
        is_ok = True
        for i in range(1, len(self.my_data)):
            if len(self.my_data[i]) > gongsimingcheng_idx and self.my_data[i][
                    gongsimingcheng_idx] and self.my_data[i][0]:
                if self.my_data[i][gongsimingcheng_idx] not in self.refer_data:
                    self.log(
                        "公司: " + self.my_data[i][gongsimingcheng_idx] +
                        " 不在基础信息表中", self.LOG_ERROR)
                    is_ok = False
        if not is_ok:
            self.log("一定要注意删掉禁用的自定义核算项目!", self.LOG_ERROR)
            return
        else:
            self.log("公司名称检测ok!")

        # 基础信息
        out_put_file_dir = Globals.desktop_path + "主合同确认引入凭证/"
        if not os.path.exists(out_put_file_dir):
            os.mkdir(out_put_file_dir)
        cur = datetime.datetime.now()
        kemu_date_str = str(cur.year) + "%02d" % cur.month
        kemu_date_str_last_month = Globals.get_time_text_year_lastmonth()
        kemu_data_str_next_month = Globals.get_time_text_year_nextmonth()
        output_filenames = (
            # key,税率,非主力店科目,主力店科目,摘要,文件名,row1科目,是否是核算项目, 是否用上个月
            ("电费", 1.13, "6401.24.01.02", "6401.24.01.02",
             "结转" + kemu_date_str_last_month + "电费 %s-%s-%s", "结转主合同电费.xlsx",
             "2203.01.01", 0, 1),
            ("电费", 1.13, "2203.01.01", "2203.01.01",
             "确认" + kemu_date_str_last_month + "电费 %s-%s-%s", "确认主合同电费.xlsx",
             "1122.01.01", 1, 1),
            ("水费", 1.03, "6401.24.02.02", "6401.24.02.02",
             "结转" + kemu_date_str_last_month + "水费 %s-%s-%s", "结转主合同水费.xlsx",
             "2203.01.01", 0, 1),
            ("水费", 1.03, "2203.01.01", "2203.01.01",
             "确认" + kemu_date_str_last_month + "水费 %s-%s-%s", "确认主合同水费.xlsx",
             "1122.01.01", 1, 1),
            ("仓库租赁费", 1.09, "2203.01.01", "2203.01.01",
             "确认" + kemu_data_str_next_month + "仓库租赁费 %s-%s-%s",
             "确认主合仓库租赁费.xlsx", "1122.01.01", 1, 0),
            ("固定租金", 1.09, "2203.01.01", "2203.01.01",
             "确认" + kemu_data_str_next_month + "固定租金 %s-%s-%s",
             "确认主合同固定租金.xlsx", "1122.01.01", 1, 0),
            ("广告位租赁费", 1.09, "2203.01.01", "2203.01.01",
             "确认" + kemu_data_str_next_month + "广告位租赁费 %s-%s-%s",
             "确认主合同广告位租赁费.xlsx", "1122.01.01", 1, 0),
            ("推广费(固定)", 1.06, "2203.01.01", "2203.01.01",
             "确认" + kemu_data_str_next_month + "推广费(固定) %s-%s-%s",
             "确认主合同推广费(固定).xlsx", "1122.01.01", 1, 0),
            ("物业管理费", 1.06, "2203.01.01", "2203.01.01",
             "确认" + kemu_data_str_next_month + "物业管理费 %s-%s-%s",
             "确认主合同物业管理费.xlsx", "1122.01.01", 1, 0),
        )
        for file_info in output_filenames:
            # 主key
            title_key = file_info[0]
            # 税率
            shuilv = file_info[1]
            # 非主力科目
            not_zhuli_kemu = file_info[2]
            # 主力科目
            zhuli_kemu = file_info[3]
            # 摘要str
            zhaiyao_str = file_info[4]
            # 文件名
            file_name = file_info[5]
            # row1科目
            kemu_name1 = file_info[6]
            # 核算项目都有
            is_queren = file_info[7]
            # 是否上月
            is_last_month = file_info[8]
            # 获取demo
            excel_data = deepcopy(Globals.get_origin_excel_data())
            target_file_name = out_put_file_dir + file_name
            title_idx = self.my_data[0].index(title_key)
            origin_data = []
            for i in range(1, len(self.my_data)):
                if len(self.my_data[i]) > title_idx and self.my_data[i][
                        title_idx] and self.my_data[i][0]:
                    origin_data.append(self.my_data[i])

            dianpuzhaopai_idx = self.my_data[0].index("店铺招牌")
            puweihao_idx = self.my_data[0].index("铺位号")

            def key_func(elem):
                return elem[puweihao_idx]

            origin_data.sort(key=key_func)
            target_rows = []
            data_str = str(cur.year) + "/" + str(cur.month) + "/" + str(
                cur.day)
            # 处理数据
            for i in range(len(origin_data)):
                one_data = origin_data[i]
                row = deepcopy(Globals.pingzheng_demo)
                row2 = deepcopy(Globals.pingzheng_demo)
                target_rows.append(row)
                target_rows.append(row2)
                row[Globals.get_pingzheng_idx("记账日期")] = data_str
                row2[Globals.get_pingzheng_idx("记账日期")] = data_str
                row[Globals.get_pingzheng_idx("业务日期")] = data_str
                row2[Globals.get_pingzheng_idx("业务日期")] = data_str
                row[Globals.get_pingzheng_idx("辅助账业务日期")] = data_str
                row2[Globals.get_pingzheng_idx("辅助账业务日期")] = data_str
                row[Globals.get_pingzheng_idx("会计期间")] = str(cur.month)
                row2[Globals.get_pingzheng_idx("会计期间")] = str(cur.month)
                row[Globals.get_pingzheng_idx("凭证类型")] = "转"
                row2[Globals.get_pingzheng_idx("凭证类型")] = "转"
                row[Globals.get_pingzheng_idx("凭证号")] = "20180600269"
                row2[Globals.get_pingzheng_idx("凭证号")] = "20180600269"
                row[Globals.get_pingzheng_idx("分录号")] = i * 2 + 1
                row2[Globals.get_pingzheng_idx("分录号")] = i * 2 + 2
                shop_name = one_data[gongsimingcheng_idx]
                zhiapai_name = one_data[dianpuzhaopai_idx]
                puweihao_name = one_data[puweihao_idx]
                zhaiyao = zhaiyao_str % (shop_name, zhiapai_name,
                                         puweihao_name)
                row[Globals.get_pingzheng_idx("摘要")] = zhaiyao
                row2[Globals.get_pingzheng_idx("摘要")] = zhaiyao
                row[Globals.get_pingzheng_idx("科目")] = kemu_name1
                if self.is_zhuli(shop_name):
                    row2[Globals.get_pingzheng_idx("科目")] = zhuli_kemu
                else:
                    row2[Globals.get_pingzheng_idx("科目")] = not_zhuli_kemu
                row[Globals.get_pingzheng_idx("方向")] = 1
                if is_queren:
                    row2[Globals.get_pingzheng_idx("方向")] = 0
                else:
                    row2[Globals.get_pingzheng_idx("方向")] = 1
                jine_num = float("%.2f" % (one_data[title_idx] / shuilv))
                row[Globals.get_pingzheng_idx("原币金额")] = jine_num
                if is_queren:
                    row2[Globals.get_pingzheng_idx("原币金额")] = jine_num
                else:
                    row2[Globals.get_pingzheng_idx("原币金额")] = -jine_num
                row[Globals.get_pingzheng_idx("借方金额")] = jine_num
                if is_queren:
                    pass
                else:
                    row2[Globals.get_pingzheng_idx("借方金额")] = -jine_num
                if is_queren:
                    row2[Globals.get_pingzheng_idx("贷方金额")] = jine_num
                else:
                    pass
                row[Globals.get_pingzheng_idx("现金流量标记")] = 2
                row2[Globals.get_pingzheng_idx("现金流量标记")] = 2
                row[Globals.get_pingzheng_idx("辅助账摘要")] = zhaiyao
                row2[Globals.get_pingzheng_idx("辅助账摘要")] = zhaiyao
                row[Globals.get_pingzheng_idx("核算项目1")] = "长益租户"
                row[Globals.get_pingzheng_idx("名称1")] = shop_name
                row[Globals.get_pingzheng_idx("编码1")] = self.get_bianma(
                    shop_name)
                if is_queren:
                    row2[Globals.get_pingzheng_idx("核算项目1")] = "长益租户"
                    row2[Globals.get_pingzheng_idx("名称1")] = shop_name
                    row2[Globals.get_pingzheng_idx("编码1")] = self.get_bianma(
                        shop_name)
                else:
                    row2[Globals.get_pingzheng_idx("核算项目1")] = "部门"
                    row2[Globals.get_pingzheng_idx("编码1")] = "102.E018"
                    row2[Globals.get_pingzheng_idx("名称1")] = "七宝物业部"

            for row in target_rows:
                excel_data["凭证"].append(row)
            save_data(target_file_name, excel_data)
            Globals.eval_date_format(target_file_name, ["B", "C", "BN"])
Exemple #6
0
 def save_data(self, target_file_name, data):
     save_data(target_file_name, data)
     # 处理日期
     Globals.eval_date_format(target_file_name, ["B", "C", "BN"])
Exemple #7
0
    def deal_data(self):
        cur = datetime.datetime.now()
        year = cur.year
        month = cur.month
        data_str = str(year) + "/" +str(month) + "/" + str(cur.day)
        # 获取demo
        excel_data = deepcopy(Globals.get_origin_excel_data())
        target_file_name = self.out_put_filename
        origin_data = []
        cur_year_month_str = Globals.get_time_text_year_curmonth()
        try:
            dangyue_jine_idx = self.my_data[0].index(cur_year_month_str)
        except:
            dangyue_jine_idx = self.my_data[0].index(int(cur_year_month_str))
        for i in range(1, len(self.my_data)):
            row = self.my_data[i]
            if row[0] and row[1] and row[dangyue_jine_idx]:
                origin_data.append(row)
        bumen_idx = self.my_data[0].index("部门")
        gongyingshang_idx = self.my_data[0].index("供应商全称")
        kemu_idx = self.my_data[0].index("科目名称")
        zhaiyao_idx = self.my_data[0].index("摘要")
        hetonghao_idx = self.my_data[0].index("合同订单号")
        target_rows = []
        # 处理数据
        for i in range(len(origin_data)):
            one_data = origin_data[i]
            row = deepcopy(Globals.pingzheng_demo)
            row2 = deepcopy(Globals.pingzheng_demo)
            target_rows.append(row)
            target_rows.append(row2)
            row[Globals.get_pingzheng_idx("记账日期")] = data_str
            row2[Globals.get_pingzheng_idx("记账日期")] = data_str
            row[Globals.get_pingzheng_idx("业务日期")] = data_str
            row2[Globals.get_pingzheng_idx("业务日期")] = data_str
            row[Globals.get_pingzheng_idx("辅助账业务日期")] = data_str
            row2[Globals.get_pingzheng_idx("辅助账业务日期")] = data_str
            row[Globals.get_pingzheng_idx("会计期间")] = str(cur.month)
            row2[Globals.get_pingzheng_idx("会计期间")] = str(cur.month)
            row[Globals.get_pingzheng_idx("凭证类型")] = "转"
            row2[Globals.get_pingzheng_idx("凭证类型")] = "转"
            row[Globals.get_pingzheng_idx("凭证号")] = "20180600269"
            row2[Globals.get_pingzheng_idx("凭证号")] = "20180600269"
            row[Globals.get_pingzheng_idx("分录号")] = i * 2 + 1
            row2[Globals.get_pingzheng_idx("分录号")] = i * 2 + 2
            kemu_name = one_data[kemu_idx]
            kemu_bianma1 = self.refer_data["科目名称"][kemu_name]["科目"]
            row[Globals.get_pingzheng_idx("科目")] = kemu_bianma1
            kemu_bianma2 = self.refer_data["部门"][one_data[bumen_idx]]["科目"]
            row2[Globals.get_pingzheng_idx("科目")] = kemu_bianma2

            row[Globals.get_pingzheng_idx("方向")] = 1
            row2[Globals.get_pingzheng_idx("方向")] = 0
            jine = float("%.2f" % (one_data[dangyue_jine_idx]))
            row[Globals.get_pingzheng_idx("原币金额")] = jine
            row2[Globals.get_pingzheng_idx("原币金额")] = jine
            row[Globals.get_pingzheng_idx("借方金额")] = jine
            row2[Globals.get_pingzheng_idx("贷方金额")] = jine
            row[Globals.get_pingzheng_idx("现金流量标记")] = 2
            row2[Globals.get_pingzheng_idx("现金流量标记")] = 2
            row[Globals.get_pingzheng_idx("核算项目1")] = "部门"
            row2[Globals.get_pingzheng_idx("核算项目1")] = "供应商"
            mingcheng1 = one_data[bumen_idx]
            row[Globals.get_pingzheng_idx("名称1")] = self.refer_data["部门"][mingcheng1]["名称1"]
            gongyingshang_name = one_data[gongyingshang_idx]
            row2[Globals.get_pingzheng_idx("名称1")] = gongyingshang_name
            row[Globals.get_pingzheng_idx("编码1")] = self.refer_data["部门"][mingcheng1]["编码1"]
            row2[Globals.get_pingzheng_idx("编码1")] = self.refer_data["供应商全称"][gongyingshang_name]["编码"]
            hesuanxiangmu2 = ""
            if str(kemu_bianma1) == "6401.38":
                hesuanxiangmu2 = "关联公司"
                row[Globals.get_pingzheng_idx("核算项目2")] = hesuanxiangmu2
                row[Globals.get_pingzheng_idx("编码2")] = "Y023"
                row[Globals.get_pingzheng_idx("名称2")] = "上海万科物业服务有限公司"

            zhaiyao = cur_year_month_str + "预提(暂估)" + str(one_data[bumen_idx]) + "-" + gongyingshang_name + "-" + str(one_data[zhaiyao_idx]) + "-" + str(one_data[hetonghao_idx])
            row[Globals.get_pingzheng_idx("摘要")] = zhaiyao
            row2[Globals.get_pingzheng_idx("摘要")] = zhaiyao
            row[Globals.get_pingzheng_idx("辅助账摘要")] = zhaiyao
            row2[Globals.get_pingzheng_idx("辅助账摘要")] = zhaiyao

        for row in target_rows:
            excel_data["凭证"].append(row)
        save_data(target_file_name, excel_data)
        Globals.eval_date_format(target_file_name, ["B", "C", "BN"])