def countSumZb(rlist): if len(rlist) > 1: sumdict = {} yitem = rlist[0] sitem = rlist[1] for key in yitem: est = yitem[key] if key in sitem: sale = sitem[key] if decimal.Decimal(est) > 0: zb = mtu.convertToStr( decimal.Decimal(sale) * decimal.Decimal("100.0") / decimal.Decimal(est), "0.00", 1) + "%" else: zb = "" else: zb = "" sumdict.setdefault(key, zb) yitem.setdefault("idname", "合计") sitem.setdefault("idname", "合计") sumdict.setdefault("idname", "合计") yitem.setdefault("codelable", "计划") sitem.setdefault("codelable", "实际达成") sumdict.setdefault("codelable", "达成率") rlist.append(sumdict)
def countSumZb(rlist): if len(rlist) > 1: sumdict = {} yitem = rlist[0] sitem = rlist[1] for key in yitem: est = yitem[key] if key in sitem: sale = sitem[key] if decimal.Decimal(est) > 0: zb = mtu.convertToStr(decimal.Decimal(sale) * decimal.Decimal("100.0") / decimal.Decimal(est), "0.00", 1) + "%" else: zb = "" else: zb = "" sumdict.setdefault(key, zb) yitem.setdefault("idname", "合计") sitem.setdefault("idname", "合计") sumdict.setdefault("idname", "合计") yitem.setdefault("codelable", "计划") sitem.setdefault("codelable", "实际达成") sumdict.setdefault("codelable", "达成率") rlist.append(sumdict)
def countSale(ydict, sdict1, sdict2, lastDay): rsdict = {} zbdict = {} sumlist = [] ssumdict, ysumdict = {}, {} sumlist.append(ysumdict) # 计划 sumlist.append(ssumdict) # 实际 for key in sdict1.keys(): sitem = sdict1[key] if key in ydict: yitem = ydict[key] else: yitem = initItem(lastDay) ydict.setdefault(key, yitem) newitem, zbitem = {}, {} newitem = dict(newitem, **sitem) for k in sitem: # 实际销售 val1 = sitem[k] # 批发销售单 if key in sdict2: sitem2 = sdict2[key] if sitem2 and k in sitem2: val2 = sitem2[k] else: val2 = decimal.Decimal("0.00") else: val2 = decimal.Decimal("0.00") # 真实销售 = 实际销售 + 批发销售 totalval = val1 + val2 newitem[k] = totalval # 计划 if k in yitem: yobj = yitem[k] # 占比 if yobj > 0: zb = mtu.convertToStr( totalval * decimal.Decimal("100.0") / yobj, "0.00", 1) + "%" zbitem.setdefault(k, zb) else: zbitem.setdefault(k, "") else: zbitem.setdefault(k, "") # 销售合计 if k in ssumdict: ssumdict[k] += totalval else: ssumdict.setdefault(k, totalval) newitem.setdefault("codelable", "实际达成") zbitem.setdefault("codelable", "达成率") rsdict.setdefault(key, newitem) zbdict.setdefault(key, zbitem) # 计划合计 for ykey in ydict.keys(): yitem = ydict[ykey] for k in yitem.keys(): yobj = yitem[k] if k in ysumdict: ysumdict[k] += yobj else: ysumdict.setdefault(k, yobj) yitem.setdefault("codelable", "计划") return rsdict, zbdict, sumlist
def countSale(ydict, sdict1, sdict2, lastDay): rsdict = {} zbdict = {} sumlist = [] ssumdict, ysumdict = {}, {} sumlist.append(ysumdict) # 计划 sumlist.append(ssumdict) # 实际 for key in sdict1.keys(): sitem = sdict1[key] if key in ydict: yitem = ydict[key] else: yitem = initItem(lastDay) ydict.setdefault(key, yitem) newitem, zbitem = {}, {} newitem = dict(newitem, **sitem) for k in sitem: # 实际销售 val1 = sitem[k] # 批发销售单 if key in sdict2: sitem2 = sdict2[key] if sitem2 and k in sitem2: val2 = sitem2[k] else: val2 = decimal.Decimal("0.00") else: val2 = decimal.Decimal("0.00") # 真实销售 = 实际销售 + 批发销售 totalval = val1 + val2 newitem[k] = totalval # 计划 if k in yitem: yobj = yitem[k] # 占比 if yobj > 0: zb = mtu.convertToStr(totalval * decimal.Decimal("100.0") / yobj, "0.00", 1) + "%" zbitem.setdefault(k, zb) else: zbitem.setdefault(k, "") else: zbitem.setdefault(k, "") # 销售合计 if k in ssumdict: ssumdict[k] += totalval else: ssumdict.setdefault(k, totalval) newitem.setdefault("codelable", "实际达成") zbitem.setdefault("codelable", "达成率") rsdict.setdefault(key, newitem) zbdict.setdefault(key, zbitem) # 计划合计 for ykey in ydict.keys(): yitem = ydict[ykey] for k in yitem.keys(): yobj = yitem[k] if k in ysumdict: ysumdict[k] += yobj else: ysumdict.setdefault(k, yobj) yitem.setdefault("codelable", "计划") return rsdict, zbdict, sumlist