Exemplo n.º 1
0
def orderDelete(request):
    if request.method == "POST":
        #验证字段
        validateResult = commonLib.validateField(request, "id")
        if not validateResult[0]:
            return commonLib.statusJson(status=401, message=validateResult[1])
        if not request.POST.get("id").isdigit():  #如果id不是数字
            return
        #查找数据
        id = int(request.POST.get("id"))
        try:
            oneData = OrderForm.objects.get(id=id)
        except Exception, e:
            return commonLib.statusJson(status=400, message="删除的数据不存在")
        plateNum = oneData.plateNum

        #删除时记录
        content = "删除了%s状态为%s,车牌号为%s,第%s车%s趟%s任务的订单" % (
            oneData.createTime, oneData.stateType, oneData.plateNum,
            oneData.catNum, oneData.tranNum, oneData.placeNum)
        name = request.user.last_name if request.user.last_name else request.user.username
        history = History.objects.create(content=content,
                                         operator=name,
                                         action="删除订单")
        #得到时间
        createTime = oneData.createTime
        #删除数据
        oneData.delete()
        #判断该订单是否已经指派,如果指派则通知司机
        if plateNum:
            driver = Driver()
            driver.post_message_by_plateNum(plateNum, u"您的订单已调整,请按照如下计划执行:")
            driver.post_catNum(plateNum, createTime)

        return commonLib.statusJson()
Exemplo n.º 2
0
def createClient(request):
    if request.method == "POST":
        validateResult = commonLib.validateField(request, "name")
        if not validateResult[0]:
            return commonLib.statusJson(status=401, message=validateResult[1])
        if request.POST.get("sendCode", None):
            client = SendClient.create(request.POST)
            client.save()
        elif request.POST.get("receiveCode", None):
            client = ReceiveClient.create(request.POST)
            client.save()
        return commonLib.statusJson()
Exemplo n.º 3
0
def deleteClient(request):
    if request.method == "POST":
        validateResult = commonLib.validateField(request, "typeId", "id")
        if not validateResult[0]:
            return commonLib.statusJson(status=401, message=validateResult[1])
        id = int(request.POST.get("id"))
        typeId = int(request.POST.get("typeId"))
        if typeId == 0:
            oneModel = SendClient.objects.get(id=id)
            oneModel.delete()
        elif typeId == 1:
            oneModel = ReceiveClient.objects.get(id=id)
            oneModel.delete()
        return commonLib.statusJson()
Exemplo n.º 4
0
def batchPostCat(request):
    if request.method == "POST":
        validateResult = commonLib.validateField(request, "data")
        if not validateResult[0]:
            return commonLib.statusJson(status=401, message=validateResult[1])
        data = request.POST.get("data")
        data = json.loads(data)
        for item in data:

            orderList = item[0]["orderList"]
            plateNum = item[1]["plateNum"]

            driver = Driver()
            driver.post_message_by_plateNum(
                plateNum, u"%s,您今天订单已发布,请按如下计划执行:" % plateNum)
            driver.post_order(orderList, plateNum,
                              request.user.last_name)  #发送一车指派消息
        return commonLib.statusJson()
Exemplo n.º 5
0
def postCat(request):
    if request.method == "POST":
        validateResult = commonLib.validateField(request, "orderList[]",
                                                 "plateNum")
        if not validateResult[0]:
            return commonLib.statusJson(status=401, message=validateResult[1])
        orderList = request.POST.getlist("orderList[]")
        plateNum = request.POST.get("plateNum")
        if not isinstance(orderList, list):
            return commonLib.statusJson(status=402,
                                        message=u"orderList not list")
        else:
            for index in range(len(orderList)):
                orderList[index] = int(orderList[index])
        driver = Driver()
        driver.post_message_by_plateNum(plateNum,
                                        u"%s,您的订单已发布,请按如下计划执行:" % plateNum)
        driver.post_order(orderList, plateNum,
                          request.user.last_name)  #发送一车指派消息
    return commonLib.statusJson()
Exemplo n.º 6
0
def orderUpdate(request, notice=True):
    if request.method == "POST":
        #验证字段
        validateResult = commonLib.validateField(request, "id")
        if not validateResult[0]:
            return commonLib.statusJson(status=401, message=validateResult[1])
        if not request.POST.get("id").isdigit():  #如果id不是数字
            return commonLib.statusJson(status=401)
        #查找数据
        id = int(request.POST.get("id"))
        oneData = OrderForm.objects.get(id=id)
        #得到时间
        createTime = oneData.createTime
        #更新数据
        oneData.update(request.POST)
        oneData.operator = request.user.last_name
        #如果修改的车次,则要同时修改车牌号
        newCatNum = request.POST.get("catNum", "")
        oldPlateNum = None
        newPlateNum = None  #新车牌号
        if newCatNum:
            #做一个操作记录
            if oneData.stateType == 4:
                content = "%s创建的%s车%s趟%s任务清单%s签收的订单修改了车次为%s" % (
                    oneData.createTime, oneData.catNum, oneData.tranNum,
                    oneData.placeNum, oneData.acceptPerson, newCatNum)
                name = request.user.last_name if request.user.last_name else request.user.username
                history = History.objects.create(content=content,
                                                 operator=name,
                                                 action="修改已签收订单的车次")
            #还原订单默认值
            oneData.receiveFormTime = None
            oneData.receiveFormPerson = ""
            oneData.receiveGoodsTime = None
            oneData.receiveGoodsPerson = ""
            oneData.acceptTime = None
            oneData.acceptPerson = ""
            oneData.other = ""
            oneData.problem = 0

            oldPlateNum = oneData.plateNum  #旧车牌号

            if not newCatNum.isdigit():  #如果字符串不是整数
                return commonLib.statusJson(status=402, message=u"车次输入有误")
            querySet = OrderForm.objects.filter(createTime=oneData.createTime,
                                                catNum=int(newCatNum))
            if querySet.exists():  #如果是合并到其他车次
                nextData = querySet[0]
                if nextData.stateType != 0:  #如果调整成指派过的车次
                    oneData.plateNum = nextData.plateNum
                    oneData.stateType = 1
                    newPlateNum = nextData.plateNum
                else:  #如果合并到其他待处理的车次
                    oneData.stateType = 0
                    oneData.plateNum = None
            else:  #如果调整为一个新车次
                oneData.stateType = 0
                oneData.plateNum = None
        try:
            oneData.full_clean()  #数据验证
        except ValidationError as e:
            return commonLib.statusJson(status=402, message=str(e))
        oneData.save()

        if notice:  #如果通知
            #通知调整给司机
            if oldPlateNum:
                driver = Driver()
                driver.post_message_by_plateNum(oldPlateNum,
                                                u"您的订单已调整,请按照如下计划执行:")
                driver.post_catNum(oldPlateNum, createTime)
            if newPlateNum:
                driver = Driver()
                driver.post_message_by_plateNum(newPlateNum,
                                                u"您的订单已调整,请按照如下计划执行:")
                driver.post_catNum(newPlateNum, createTime)
        else:  #如果不通知则返回车牌号
            return [oldPlateNum, newPlateNum, createTime]
        return commonLib.statusJson()