示例#1
0
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)
示例#2
0
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)
示例#3
0
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
示例#4
0
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