Sfoglia il codice sorgente

合同管理、付款管理 去掉复核、批准

jiaweiqi 3 anni fa
parent
commit
196c89918c

+ 1 - 9
apps/purchase/filters.py

@@ -40,7 +40,7 @@ class PurchaseOrderFilter(django_filters.FilterSet):
     create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
     no = django_filters.CharFilter(name='no', lookup_expr='icontains')
     supplier_name = django_filters.CharFilter(name='supplier__name', lookup_expr='icontains')
-    status = django_filters.CharFilter(method='filter_status')
+    status = django_filters.CharFilter(field_name='status')
     notes = django_filters.CharFilter(name='notes', lookup_expr='icontains')
 
     class Meta:
@@ -52,14 +52,6 @@ class PurchaseOrderFilter(django_filters.FilterSet):
         data = clean_datetime_range(data, 'create_time','source')
         super(PurchaseOrderFilter, self).__init__(data, *args, **kwargs)
 
-    def filter_status(self, queryset, *args):
-        if args[1]:
-            value = int(args[1])
-            if value != 3:
-                queryset = queryset.filter(status=value)
-            else:
-                queryset = queryset.filter(~Q(status=PurchaseOrder.TAKE_EFFECT))
-        return queryset
 
 class PurchaseOrderDetailFilter(django_filters.FilterSet):
     supplier_name = django_filters.CharFilter(name='main__supplier__name', lookup_expr='icontains')

+ 23 - 25
apps/purchase/models.py

@@ -180,13 +180,11 @@ class PurchasePrice(models.Model):
 
 
 class PurchaseOrder(models.Model):
-    DRAFT = 0
-    TAKE_EFFECT = 1
-    CHECKING = 2
+    DEFAULT = 0
+    PASS = 1
     STATUS_CHOICES = (
-        (DRAFT, u'草拟'),
-        (TAKE_EFFECT, u'生效'),
-        (CHECKING, u'审核中'),
+        (DEFAULT, u'未审核'),
+        (PASS, u'已审核')
     )
 
     NO_ARRVAL = 0
@@ -205,7 +203,7 @@ class PurchaseOrder(models.Model):
     amount = models.BigIntegerField(u'金额', default=0)
     apply_amount = models.BigIntegerField(verbose_name=u'申请金额', default=0)
     plan = models.ForeignKey(PurchasePlan, verbose_name=u"采购计划", on_delete=models.PROTECT, blank=True,null=True)
-    status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"状态", default=DRAFT)
+    status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"状态", default=DEFAULT)
     arrval = models.PositiveSmallIntegerField(choices=ARRVAL_CHOICES, verbose_name=u"到货", default=NO_ARRVAL)
     notes = models.CharField(max_length=200, verbose_name=u"备注", blank=True, null=True)
     create_time = models.DateTimeField(verbose_name=u"创建时间", default=timezone.now)
@@ -216,13 +214,13 @@ class PurchaseOrder(models.Model):
     payment_type = models.CharField(max_length=50, verbose_name=u"付款方式", null=True, blank=True)
     deliver_time = models.CharField(max_length=200, verbose_name=u"交货时间", blank=True, null=True)
 
-    check_user2 = models.ForeignKey(User, verbose_name=u"复核人", related_name='purchase_order_ref_check_user2',
-                                    on_delete=models.PROTECT, null=True, blank=True)
-    check_time2 = models.DateTimeField(verbose_name=u"复核时间", null=True)
-
-    check_user3 = models.ForeignKey(User, verbose_name=u"批准人", related_name='purchase_order_ref_check_user3',
-                                    on_delete=models.PROTECT, null=True, blank=True)
-    check_time3 = models.DateTimeField(verbose_name=u"批准时间", null=True)
+    # check_user2 = models.ForeignKey(User, verbose_name=u"复核人", related_name='purchase_order_ref_check_user2',
+    #                                 on_delete=models.PROTECT, null=True, blank=True)
+    # check_time2 = models.DateTimeField(verbose_name=u"复核时间", null=True)
+    #
+    # check_user3 = models.ForeignKey(User, verbose_name=u"批准人", related_name='purchase_order_ref_check_user3',
+    #                                 on_delete=models.PROTECT, null=True, blank=True)
+    # check_time3 = models.DateTimeField(verbose_name=u"批准时间", null=True)
     consignee_name = models.CharField(max_length=100, verbose_name=u"收货人姓名", null=True)
     consignee_tel = models.CharField(max_length=100, verbose_name=u"收货人电话", null=True)
     class Meta:
@@ -245,8 +243,8 @@ class PurchaseOrder(models.Model):
             ("delete_purchase_order", u"删除"),
             ("export_purchase_order", u"导出"),
             ("print_purchase_order", u"打印"),
-            ("check2_purchase_order", u"复核"),
-            ("check3_purchase_order", u"批准"),
+            # ("check2_purchase_order", u"复核"),
+            # ("check3_purchase_order", u"批准"),
         )
 
     def updateApplyAmount(self):
@@ -390,13 +388,13 @@ class PurchasePayment(models.Model):
     department = models.ForeignKey(Department, verbose_name=u"创建部门", editable=False, on_delete=models.PROTECT)
     check_time = models.DateTimeField(verbose_name=u"审核时间", null=True)
     check_user = models.ForeignKey(User, related_name='purchase_payment_ref_check_user', verbose_name=u"审核人", on_delete=models.PROTECT, null=True)
-    review_user = models.ForeignKey(User, verbose_name=u"复核人", related_name='purchase_payment_ref_review_user',
-                                    on_delete=models.PROTECT, null=True, blank=True)
-    review_time = models.DateTimeField(verbose_name=u"复核时间", null=True)
-
-    ratify_user = models.ForeignKey(User, verbose_name=u"批准人", related_name='purchase_payment_ref_ratify_user',
-                                    on_delete=models.PROTECT, null=True, blank=True)
-    ratify_time = models.DateTimeField(verbose_name=u"批准时间", null=True)
+    # review_user = models.ForeignKey(User, verbose_name=u"复核人", related_name='purchase_payment_ref_review_user',
+    #                                 on_delete=models.PROTECT, null=True, blank=True)
+    # review_time = models.DateTimeField(verbose_name=u"复核时间", null=True)
+    #
+    # ratify_user = models.ForeignKey(User, verbose_name=u"批准人", related_name='purchase_payment_ref_ratify_user',
+    #                                 on_delete=models.PROTECT, null=True, blank=True)
+    # ratify_time = models.DateTimeField(verbose_name=u"批准时间", null=True)
 
     class Meta:
         db_table = "purchase_payment"
@@ -413,8 +411,8 @@ class PurchasePayment(models.Model):
             ("view_purchase_payment", u"浏览"),
             ("add_purchase_payment", u"添加"),
             ("check_purchase_payment", u"审核"),
-            ("review_purchase_payment", u"复核"),
-            ("ratify_purchase_payment", u"批准"),
+            # ("review_purchase_payment", u"复核"),
+            # ("ratify_purchase_payment", u"批准"),
             ("pay_purchase_payment", u"付款"),
             ("delete_purchase_payment", u"删除"),
             ("export_purchase_payment", u"导出"),

+ 8 - 8
apps/purchase/serializers.py

@@ -274,10 +274,10 @@ class PurchaseOrderSerializer(serializers.ModelSerializer):
     count = CountShowCharField()
     amount = AmountShowCharFieldWithTwoDecimalPlaces()
     apply_amount = AmountShowCharFieldWithTwoDecimalPlaces(read_only=True)
-    check_user_text2 = serializers.CharField(source='check_user2.name', read_only=True)
-    check_time2 = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
-    check_user_text3 = serializers.CharField(source='check_user3.name', read_only=True)
-    check_time3 = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
+    # check_user_text2 = serializers.CharField(source='check_user2.name', read_only=True)
+    # check_time2 = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
+    # check_user_text3 = serializers.CharField(source='check_user3.name', read_only=True)
+    # check_time3 = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
 
     class Meta:
         model = PurchaseOrder
@@ -646,10 +646,10 @@ class PurchasePaymentSerializer(serializers.ModelSerializer):
     actual_amount_CNY = serializers.SerializerMethodField()
     apply_amount_CNY = serializers.SerializerMethodField()
 
-    review_user_text = serializers.CharField(source='review_user.name', read_only=True)
-    review_time = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
-    ratify_user_text = serializers.CharField(source='ratify_user.name', read_only=True)
-    ratify_time = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
+    # review_user_text = serializers.CharField(source='review_user.name', read_only=True)
+    # review_time = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
+    # ratify_user_text = serializers.CharField(source='ratify_user.name', read_only=True)
+    # ratify_time = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
 
     class Meta:
         model = PurchasePayment

+ 0 - 2
apps/purchase/urls.py

@@ -40,8 +40,6 @@ urlpatterns = (
     url(r'^purchase_payment/detail/$', purchase_payment_detail),
     url(r'^purchase_payment/delete/$', purchase_payment_delete),
     url(r'^purchase_payment/check/$', purchase_payment_check),
-    url(r'^purchase_payment/review/$', purchase_payment_review),
-    url(r'^purchase_payment/ratify/$', purchase_payment_ratify),
     url(r'^purchase_payment/pay/$', purchase_payment_pay),
     url(r'^purchase_payment/pay/detail/$', purchase_payment_pay_detail),
     url(r'^purchase_payment/export_detail/$', purchase_payment_export_detail),

+ 64 - 211
apps/purchase/views.py

@@ -624,7 +624,8 @@ def purchase_order_edit(request):
         with transaction.atomic():
 
             order = PurchaseOrder.objects.filter(id=id).first()
-            if order.status > PurchaseOrder.DRAFT:
+            # if order.status > PurchaseOrder.DRAFT:
+            if order.status != PurchaseOrder.DEFAULT:
                 raise CustomError(u'该合同已审核,禁止修改')
 
             order.supplier_id = data['supplier']
@@ -653,7 +654,8 @@ def purchase_order_save(request):
     try:
         with transaction.atomic():
             pb = PurchaseOrderSerializer.factory(request.user, data['order_data'], id)
-            if pb.instance and pb.instance.status == PurchaseOrder.TAKE_EFFECT:
+            # if pb.instance and pb.instance.status == PurchaseOrder.TAKE_EFFECT:
+            if pb.instance and pb.instance.status != PurchaseOrder.DEFAULT:
                 raise CustomError(u'该合同已审核,禁止修改')
             pb = pb.validSave()
             PurchaseOrderDetail.objects.filter(main_id=pb.id).delete()
@@ -766,10 +768,10 @@ def purchase_order_detail(request):
             'create_user': purchase_order.create_user and purchase_order.create_user.name or '',
             'create_time': Formater.formatStrTime(purchase_order.create_time),
             'deliver_time': Formater.formatStrTime(purchase_order.deliver_time),
-            'check_user2': purchase_order.check_user2 and purchase_order.check_user2.name or '',
-            'check_time2': Formater.formatStrTime(purchase_order.check_time2),
-            'check_user3': purchase_order.check_user3 and purchase_order.check_user3.name or '',
-            'check_time3': Formater.formatStrTime(purchase_order.check_time3),
+            # 'check_user2': purchase_order.check_user2 and purchase_order.check_user2.name or '',
+            # 'check_time2': Formater.formatStrTime(purchase_order.check_time2),
+            # 'check_user3': purchase_order.check_user3 and purchase_order.check_user3.name or '',
+            # 'check_time3': Formater.formatStrTime(purchase_order.check_time3),
             'consignee_name': purchase_order.consignee_name,
             'consignee_tel': purchase_order.consignee_tel,
         }
@@ -828,9 +830,10 @@ def select_purchase_order(request):
     if not no:
         return JSONError(u'请输入合同单号!')
 
-    rows = PurchaseOrderDetail.objects.filter(main__no=no, main__status=PurchaseOrder.TAKE_EFFECT)
+    # rows = PurchaseOrderDetail.objects.filter(main__no=no, main__status=PurchaseOrder.TAKE_EFFECT)
+    rows = PurchaseOrderDetail.objects.filter(main__no=no, main__status=PurchaseOrder.PASS)
     if rows.count() == 0:
-        return JSONError(u'合同单号不正确或该合同尚未生效!')
+        return JSONError(u'合同单号不正确或该合同尚未审核!')
     if rows[0].main.apply_amount >= rows[0].main.amount:
         return JSONError(u'该合同已付款完毕!')
     result = {
@@ -860,8 +863,9 @@ def purchase_order_delete(request):
     try:
         with transaction.atomic():
             order = PurchaseOrder.getById(id)
-            if order.status != PurchaseOrder.DRAFT:
-                raise CustomError(u'该采购合同已生效, 不允许删除')
+            # if order.status != PurchaseOrder.DRAFT:
+            if order.status != PurchaseOrder.DEFAULT:
+                raise CustomError(u'该采购合同已审核, 不允许删除')
 
             # 删除发票图片
             image_rows = PurchaseInvoiceImage.objects.filter(order_detail__main_id=order.id)
@@ -900,116 +904,47 @@ def purchase_order_delete(request):
 @permission_required('purchase.check_purchase_order')
 def purchase_order_check(request):
     id = request.GET.get('id')
-    c_type = request.GET.get('c_type')
     status = int(request.GET.get('status'))
     try:
         with transaction.atomic():
             order = PurchaseOrder.getById(id)
-            if c_type == 'check':
-                if status == PurchaseOrder.TAKE_EFFECT:
-                    if order.status == PurchaseOrder.CHECKING:
-                        raise CustomError(u'该采购合同已审核')
-                    if not order.no:
-                        raise CustomError(u'该采购合同未填写合同号, 不允许审核')
-                    exist_rows = PurchaseOrder.objects.filter(Q(no=order.no), ~Q(id=id)).first()
-                    if exist_rows:
-                        raise CustomError(u'该采购合同单号已存在')
-                    order.status = PurchaseOrder.CHECKING
-                    order.check_user = request.user
-                    order.check_time = timezone.now()
-                    BizLog.objects.addnew(
-                        request.user,
-                        BizLog.CHECK,
-                        u"审核采购合同[%s],id=%d" % (order.no, order.id),
-                    )
-                else:
-                    if order.status == PurchaseOrder.DRAFT:
-                        raise CustomError(u'该采购合同尚未审核')
-                    if order.check_user2:
-                        raise CustomError(u'该采购合同已复核')
-                    g_row = GodownEntry.objects.filter(purchase_order=order).first()
-                    if g_row:
-                        raise CustomError(u'该合同已存在入库单, 不允许撤销审核')
-                    pay = PurchasePayment.objects.filter(order=order).first()
-                    if pay:
-                        raise CustomError(u'该合同已存在付款单, 不允许撤销审核')
-
-                    d_row = PurchaseOrderDetail.objects.filter(main=order, invoice_no__isnull=False, check_status=settings.PASS).first()
-                    if d_row:
-                        raise CustomError(u'该合同已审核发票, 不允许撤销审核')
-                    order.status = PurchaseOrder.DRAFT
-                    order.check_user = None
-                    order.check_time = None
-                    BizLog.objects.addnew(
-                        request.user,
-                        BizLog.CHECK,
-                        u"采购合同取消审核[%s],id=%d" % (order.no, order.id),
-                    )
-            elif c_type == 'check2':
-                #复核
-                if status == PurchaseOrder.TAKE_EFFECT:
-                    if order.status == PurchaseOrder.DRAFT:
-                        raise CustomError(u'该采购合同未审核')
-                    if order.check_user3:
-                        raise CustomError(u'该采购合同已批准')
-
-                    order.check_user2 = request.user
-                    order.check_time2 = timezone.now()
-                    BizLog.objects.addnew(
-                        request.user,
-                        BizLog.CHECK,
-                        u"采购合同复核[%s],id=%d" % (order.no, order.id),
-                    )
-                else:
-                    if not order.check_user2:
-                        raise CustomError(u'该采购计划未复核')
-                    if order.check_user3:
-                        raise CustomError(u'该采购计划已批准')
-
-                    order.check_user2 = None
-                    order.check_time2 = None
-                    BizLog.objects.addnew(
-                        request.user,
-                        BizLog.CHECK,
-                        u"采购合同取消复核[%s],id=%d" % (order.no, order.id),
-                    )
-            elif c_type == 'check3':
-                #批准
-                if status == PurchaseOrder.TAKE_EFFECT:
-                    if not order.check_user2:
-                        raise CustomError(u'该采购合同未复核')
-                    if order.check_user3:
-                        raise CustomError(u'该采购合同已批准')
-                    order.status = status
-                    order.check_user3 = request.user
-                    order.check_time3 = timezone.now()
-                    BizLog.objects.addnew(
-                        request.user,
-                        BizLog.CHECK,
-                         u"采购合同批准[%s],id=%d" % (order.no, order.id),
-                    )
-                else:
-                    if not order.check_user3:
-                        raise CustomError(u'该采购合同未批准')
-                    g_row = GodownEntry.objects.filter(purchase_order=order).first()
-                    if g_row:
-                        raise CustomError(u'该合同已存在入库单, 不允许撤销')
-                    pay = PurchasePayment.objects.filter(order=order).first()
-                    if pay:
-                        raise CustomError(u'该合同已存在付款单, 不允许撤销')
-
-                    d_row = PurchaseOrderDetail.objects.filter(main=order, invoice_no__isnull=False,
-                                                               check_status=settings.PASS).first()
-                    if d_row:
-                        raise CustomError(u'该合同已审核发票, 不允许撤销')
-                    order.status = PurchaseOrder.CHECKING
-                    order.check_user3 = None
-                    order.check_time3 = None
-                    BizLog.objects.addnew(
-                        request.user,
-                        BizLog.CHECK,
-                         u"采购合同取消批准[%s],id=%d" % (order.no, order.id),
-                    )
+            if status == PurchaseOrder.PASS:
+                if order.status == PurchaseOrder.PASS:
+                    raise CustomError(u'该采购合同已审核')
+                if not order.no:
+                    raise CustomError(u'该采购合同未填写合同号, 不允许审核')
+                exist_rows = PurchaseOrder.objects.filter(Q(no=order.no), ~Q(id=id)).first()
+                if exist_rows:
+                    raise CustomError(u'该采购合同单号已存在')
+                order.status = PurchaseOrder.PASS
+                order.check_user = request.user
+                order.check_time = timezone.now()
+                BizLog.objects.addnew(
+                    request.user,
+                    BizLog.CHECK,
+                    u"审核采购合同[%s],id=%d" % (order.no, order.id),
+                )
+            else:
+                if order.status == PurchaseOrder.DEFAULT:
+                    raise CustomError(u'该采购合同尚未审核')
+                g_row = GodownEntry.objects.filter(purchase_order=order).first()
+                if g_row:
+                    raise CustomError(u'该合同已存在入库单, 不允许撤销审核')
+                pay = PurchasePayment.objects.filter(order=order).first()
+                if pay:
+                    raise CustomError(u'该合同已存在付款单, 不允许撤销审核')
+
+                d_row = PurchaseOrderDetail.objects.filter(main=order, invoice_no__isnull=False, check_status=settings.PASS).first()
+                if d_row:
+                    raise CustomError(u'该合同已审核发票, 不允许撤销审核')
+                order.status = PurchaseOrder.DEFAULT
+                order.check_user = None
+                order.check_time = None
+                BizLog.objects.addnew(
+                    request.user,
+                    BizLog.CHECK,
+                    u"采购合同取消审核[%s],id=%d" % (order.no, order.id),
+                )
             order.save()
     except CustomError, e:
         return JSONError(e.get_error_msg())
@@ -1177,7 +1112,7 @@ def purchase_payment_check(request):
             if status == settings.PASS:
                 if order.status == settings.PASS:
                     raise CustomError(u'该付款单已审核')
-                order.status = settings.CHECKING
+                order.status = settings.PASS
                 order.check_user = request.user
                 order.check_time = timezone.now()
                 BizLog.objects.addnew(
@@ -1188,8 +1123,8 @@ def purchase_payment_check(request):
             else:
                 if order.status == settings.DEFAULT:
                     raise CustomError(u'该付款单尚未审核')
-                if order.review_time:
-                    raise CustomError(u'该付款单已复核,请先撤销复核')
+                # if order.review_time:
+                #     raise CustomError(u'该付款单已复核,请先撤销复核')
                 if order.is_pay:
                     raise CustomError(u'该付款单已付款,禁止撤销审核')
                 order.status = settings.DEFAULT
@@ -1208,92 +1143,6 @@ def purchase_payment_check(request):
         return JSONError(u'审核失败')
     return JSONResponse({})
 
-@csrf_exempt
-@permission_required('purchase.review_purchase_payment')
-def purchase_payment_review(request):
-    id = request.GET.get('id')
-    status = int(request.GET.get('status'))
-    try:
-        with transaction.atomic():
-            order = PurchasePayment.getById(id)
-            if status == 1:
-                if order.status == settings.DEFAULT:
-                    raise CustomError(u'该付款单尚未审核')
-                if order.review_time:
-                    raise CustomError(u'该付款单已复核')
-                order.review_user = request.user
-                order.review_time = timezone.now()
-                BizLog.objects.addnew(
-                    request.user,
-                    BizLog.CHECK,
-                    u"复核采购付款[%s],id=%d" % (order.no, order.id),
-                )
-            else:
-                if not order.review_time:
-                    raise CustomError(u'该付款单尚未复核')
-                if order.ratify_time:
-                    raise CustomError(u'该付款单已批准')
-                if order.is_pay:
-                    raise CustomError(u'该付款单已付款,禁止撤销复核')
-                order.review_user = None
-                order.review_time = None
-                BizLog.objects.addnew(
-                    request.user,
-                    BizLog.CHECK,
-                    u"采购付款单撤销复核[%s],id=%d" % (order.no, order.id),
-                )
-            order.save()
-    except CustomError, e:
-        return JSONError(e.get_error_msg())
-    except Exception, e:
-        traceback.print_exc()
-        return JSONError(u'复核失败')
-    return JSONResponse({})
-
-
-@csrf_exempt
-@permission_required('purchase.ratify_purchase_payment')
-def purchase_payment_ratify(request):
-    id = request.GET.get('id')
-    status = int(request.GET.get('status'))
-    try:
-        with transaction.atomic():
-            order = PurchasePayment.getById(id)
-            if status == 1:
-                if order.status == settings.DEFAULT:
-                    raise CustomError(u'该付款单尚未审核')
-                if not order.review_time:
-                    raise CustomError(u'该付款单尚未复核,请先复核')
-                if order.ratify_time:
-                    raise CustomError(u'该付款单已批准')
-                order.status = settings.PASS
-                order.ratify_user = request.user
-                order.ratify_time = timezone.now()
-                BizLog.objects.addnew(
-                    request.user,
-                    BizLog.CHECK,
-                    u"批准采购付款[%s],id=%d" % (order.no, order.id),
-                )
-            else:
-                if not order.ratify_time:
-                    raise CustomError(u'该付款单尚未批准')
-                if order.is_pay:
-                    raise CustomError(u'该付款单已付款,禁止撤销复核')
-                order.status = settings.CHECKING
-                order.ratify_user = None
-                order.ratify_time = None
-                BizLog.objects.addnew(
-                    request.user,
-                    BizLog.CHECK,
-                    u"采购付款单撤销批准[%s],id=%d" % (order.no, order.id),
-                )
-            order.save()
-    except CustomError, e:
-        return JSONError(e.get_error_msg())
-    except Exception, e:
-        traceback.print_exc()
-        return JSONError(u'批准失败')
-    return JSONResponse({})
 
 @csrf_exempt
 @permission_required('purchase.export_purchase_payment')
@@ -1319,10 +1168,12 @@ def purchase_payment_pay(request):
             if payment.apply_amount <= payment.actual_amount:
                 raise CustomError(u'付款单已付款完毕')
 
-            if not payment.ratify_time:
-                raise CustomError(u'付款单未批准,禁止付款')
-            if not payment.review_time:
-                raise CustomError(u'付款单未复核,禁止付款')
+            # if not payment.ratify_time:
+            #     raise CustomError(u'付款单未批准,禁止付款')
+            # if not payment.review_time:
+            #     raise CustomError(u'付款单未复核,禁止付款')
+            if payment.status == settings.DEFAULT:
+                raise CustomError(u'付款单未审核,禁止付款')
             try:
                 data['actual_amount'] = Formater.formatAmount(data['actual_amount'])
             except:
@@ -1376,7 +1227,8 @@ def purchase_payment_pay_detail(request):
 @permission_required('purchase.view_purchase_invoice')
 def purchase_invoice_list(request):
     invoice = request.GET.get('invoice')
-    rows = PurchaseOrderDetail.objects.filter(main__status=PurchaseOrder.TAKE_EFFECT)
+    # rows = PurchaseOrderDetail.objects.filter(main__status=PurchaseOrder.TAKE_EFFECT)
+    rows = PurchaseOrderDetail.objects.filter(main__status=PurchaseOrder.PASS)
     department_ids = request.user.getSubDepartmentIds()
     user_ids = request.user.getSubEmployeeIds()
     rows = rows.filter(Q(main__create_user_id__in=user_ids) | Q(main__department_id__in=department_ids) | Q(main__create_user=request.user))
@@ -1401,7 +1253,8 @@ def purchase_invoice_list(request):
 @permission_required('purchase.export_purchase_invoice')
 def purchase_invoice_export(request):
     invoice = request.GET.get('invoice')
-    rows = PurchaseOrderDetail.objects.filter(main__status=PurchaseOrder.TAKE_EFFECT)
+    # rows = PurchaseOrderDetail.objects.filter(main__status=PurchaseOrder.TAKE_EFFECT)
+    rows = PurchaseOrderDetail.objects.filter(main__status=PurchaseOrder.PASS)
     department_ids = request.user.getSubDepartmentIds()
     user_ids = request.user.getSubEmployeeIds()
     rows = rows.filter(Q(main__create_user_id__in=user_ids) | Q(main__department_id__in=department_ids) | Q(

+ 10 - 114
uis/views/purchase/purchase_order.html

@@ -34,24 +34,6 @@
                   </dl>
                 </div>
               </button>
-                <button class="layui-nav" data-permission="purchase.check2_purchase_plan">
-                            <div class="layui-nav-item">
-                                <a href="javascript:;" style="color:#fff;">复核</a>
-                                <dl class="layui-nav-child"> <!-- 二级菜单 -->
-                                    <dd><a href="#" id="btn_check2">复核</a></dd>
-                                    <dd><a href="#" id="btn_check2_back">撤销</a></dd>
-                                </dl>
-                            </div>
-                        </button>
-                        <button class="layui-nav" data-permission="purchase.check3_purchase_plan">
-                            <div class="layui-nav-item">
-                                <a href="javascript:;" style="color:#fff;">批准</a>
-                                <dl class="layui-nav-child"> <!-- 二级菜单 -->
-                                    <dd><a href="#" id="btn_check3">批准</a></dd>
-                                    <dd><a href="#" id="btn_check3_back">撤销</a></dd>
-                                </dl>
-                            </div>
-                        </button>
                 <button class="layui-nav" data-permission="purchase.export_purchase_order">
                 <div class="layui-nav-item">
                   <a href="javascript:;" style="color:#fff;">导出</a>
@@ -78,7 +60,7 @@
                   <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del" data-permission="purchase.delete_purchase_order">删除</a>
                   <a class="layui-btn layui-btn-xs" lay-event="check_pass" data-permission="purchase.check_purchase_order">审核</a>
                   {{#  } }}
-                  {{#  if(d.status ==2){ }}
+                  {{#  if(d.status ==1){ }}
                   <a class="layui-btn layui-btn-xs" lay-event="check_revoke" data-permission="purchase.check_purchase_order">撤销审核</a>
                     {{#  } }}
                 </div>
@@ -117,10 +99,8 @@
                 <div class="layui-input-block">
                     <select id="id_check_status" name="status">
                         <option value="" selected></option>
-                        <option value="0">草拟</option>
-                        <option value="1">生效</option>
-                        <option value="2">审核中</option>
-                        <option value="3" selected>待处理</option>
+                        <option value="0">未审核</option>
+                        <option value="1">已审核</option>
                     </select>
                 </div>
             </div>
@@ -153,7 +133,7 @@
 
   <script src="../../layuiadmin/layui/layui.js?t=1"></script>
   <script>
-  var _params = {status:3};
+  var _params = {};
   layui.config({
     base: '../../../layuiadmin/' //静态资源所在路径
   }).extend({
@@ -187,10 +167,6 @@
         ,{field:'create_user_text', title:'创建人', width:90}
         ,{field:'check_time', title:'审核时间', width:150}
         ,{field:'check_user_text', title:'审核人', width:90}
-        ,{field:'check_time2', title:'复核时间', width:150}
-        ,{field:'check_user_text2', title:'复核人', width: 100}
-        ,{field:'check_time3', title:'批准时间', width:150}
-        ,{field:'check_user_text3', title:'批准人', width: 100}
         ,{field:'notes', title:'备注', minWidth:200}
         ,{field:'deliver_time', title:'交货时间', minWidth:200}
         ,{width:250, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
@@ -235,7 +211,7 @@
         });
       } else if(obj.event === 'del'){
           if (data.status != 0){
-            layer.msg('该合同已生效,不允许删除');
+            layer.msg('该合同已审核,不允许删除');
             return;
           }
         layer.confirm('确定要删除吗?', function(index){
@@ -250,7 +226,7 @@
         });
       }else if(obj.event === 'edit'){
           if (data.status != 0){
-            layer.msg('该订单已生效,不允许修改');
+            layer.msg('该订单已审核,不允许修改');
             return;
         }
         table.editdata = data;
@@ -273,7 +249,7 @@
         });
       } else if(obj.event === 'senior'){
           if (data.status != 0){
-            layer.msg('该订单已生效,不允许修改');
+            layer.msg('该订单已审核,不允许修改');
             return;
         }
         table.editdata = data;
@@ -295,7 +271,7 @@
           content: 'purchase_order_senior.html?id='+data.id+ '&type=' + data.supplier_type
         });
       } else if(obj.event === 'check_pass'){
-          if (data.status != 0){
+          if (data.status !== 0){
             layer.msg('该合同已审核, 禁止重复操作');
             return;
           }
@@ -306,7 +282,7 @@
           layer.confirm('确定要通过审核吗?', function(index){
               layer.close(index);
               layui.admin.req({
-                url: '/purchase/purchase_order/check/?c_type=check&id='+data.id + '&status=1'
+                url: '/purchase/purchase_order/check/?id='+data.id + '&status=1'
                 ,done: function(res){
                   table.reload('datagrid',{});
                 }
@@ -314,10 +290,6 @@
               layer.close(index);
         });
       }else if(obj.event === 'check_revoke'){
-          if(data.check_user2){
-            layer.msg('该采购合同已复核');
-            return;
-          }
           if (data.status == 0){
             layer.msg('该合同尚未审核');
             return;
@@ -337,7 +309,7 @@
         layer.confirm('确定要撤销审核吗?', function(index){
               layer.close(index);
               layui.admin.req({
-                url: '/purchase/purchase_order/check/?c_type=check&id='+data.id + '&status=0'
+                url: '/purchase/purchase_order/check/?id='+data.id + '&status=0'
                 ,done: function(res){
                   table.reload('datagrid',{});
                 }
@@ -366,82 +338,6 @@
           content: 'purchase_order_senior.html?type=0'
         });
     });
-    $('#btn_check2').on('click', function(){
-        var data = utils.getSelectedRow('datagrid');
-        if(data.check_user2){
-            layer.msg('该采购合同已复核');
-            return;
-        }
-        if(data.status == '0' ){
-            layer.msg('该采购合同未审核,禁止复核');
-            return;
-        }
-        layer.confirm('确定要复核吗?', function(index){
-            layer.close(index);
-            layui.admin.req({
-                url: '/purchase/purchase_order/check/?c_type=check2&status=1&id='+data.id
-                ,done: function(res){
-                    table.reload('datagrid',{});
-                }
-            });
-        });
-    });
-    $('#btn_check2_back').on('click', function(){
-        var data = utils.getSelectedRow('datagrid');
-        if(!data.check_user2){
-            layer.msg('该采购合同未复核,禁止撤销复核');
-            return;
-        }
-        if(data.check_user3){
-            layer.msg('该采购合同已批准,禁止撤销复核');
-            return;
-        }
-        layer.confirm('确定要撤销复核吗?', function(index){
-            layer.close(index);
-            layui.admin.req({
-                url: '/purchase/purchase_order/check/?c_type=check2&status=0&id='+data.id
-                ,done: function(res){
-                    table.reload('datagrid',{});
-                }
-            });
-        });
-    });
-    $('#btn_check3').on('click', function(){
-        var data = utils.getSelectedRow('datagrid');
-        if(data.check_user3){
-            layer.msg('该采购合同已批准');
-            return;
-        }
-        if(!data.check_user2){
-            layer.msg('该采购合同未复核,禁止批准');
-            return;
-        }
-        layer.confirm('确定要批准吗?', function(index){
-            layer.close(index);
-            layui.admin.req({
-                url: '/purchase/purchase_order/check/?c_type=check3&status=1&id='+data.id
-                ,done: function(res){
-                    table.reload('datagrid',{});
-                }
-            });
-        });
-    });
-    $('#btn_check3_back').on('click', function(){
-        var data = utils.getSelectedRow('datagrid');
-        if(!data.check_user3){
-            layer.msg('该计划未批准,禁止撤销批准');
-            return;
-        }
-        layer.confirm('确定要撤销批准吗?', function(index){
-            layer.close(index);
-            layui.admin.req({
-                url: '/purchase/purchase_order/check/?c_type=check3&status=0&id='+data.id
-                ,done: function(res){
-                    table.reload('datagrid',{});
-                }
-            });
-        });
-    });
     $('#btn_add_con').on('click', function(){
         layer.open({
           type: 2,

+ 2 - 124
uis/views/purchase/purchase_payment.html

@@ -26,24 +26,6 @@
 
                     <div class="LAY-btns" style="margin-bottom: 10px;">
                         <button class="layui-btn layui-btn-sm" data-permission="purchase.add_purchase_payment" id="btn_add"><i class="layui-icon layui-icon-add-1"></i>添加</button>
-                         <button class="layui-nav" data-permission="purchase.review_purchase_payment">
-                            <div class="layui-nav-item">
-                                <a href="javascript:;" style="color:#fff;">复核</a>
-                                <dl class="layui-nav-child">
-                                    <dd><a href="#" id="btn_review">复核</a></dd>
-                                    <dd><a href="#" id="btn_review_back">撤销</a></dd>
-                                </dl>
-                            </div>
-                        </button>
-                        <button class="layui-nav" data-permission="purchase.ratify_purchase_payment">
-                            <div class="layui-nav-item">
-                                <a href="javascript:;" style="color:#fff;">批准</a>
-                                <dl class="layui-nav-child">
-                                    <dd><a href="#" id="btn_ratify">批准</a></dd>
-                                    <dd><a href="#" id="btn_ratify_back">撤销</a></dd>
-                                </dl>
-                            </div>
-                        </button>
                         <button class="layui-btn layui-btn-sm" data-permission="purchase.pay_purchase_payment" id="btn_pay"><i class="layui-icon layui-icon-add-1"></i>付款</button>
 
                         <button class="layui-nav" data-permission="purchase.export_purchase_payment">
@@ -164,10 +146,6 @@
                 ,{field:'status_text', title:'审核状态', width: 100}
                 ,{field:'check_time', title:'审核时间', width:150}
                 ,{field:'check_user_text', title:'审核人', width: 100}
-                ,{field:'review_time', title:'复核时间', width:150}
-                ,{field:'review_user_text', title:'复核人', width: 100}
-                ,{field:'ratify_time', title:'批准时间', width:150}
-                ,{field:'ratify_user_text', title:'批准人', width: 100}
                 ,{field:'notes', title:'备注', minWidth:120}
                 ,{width:193, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
               ]]
@@ -246,10 +224,6 @@
                       layer.msg('该单据尚未审核');
                       return false;
                   }
-                  if (data.review_time){
-                      layer.msg('该单据已复核');
-                      return false;
-                  }
                   if (data.is_pay){
                       layer.msg('该单据已付款,禁止撤销审核');
                       return false;
@@ -331,110 +305,14 @@
                   content: 'purchase_payment_edit.html'
                 });
             });
-            $('#btn_review').on('click', function(){
-                var data = utils.getSelectedRow('datagrid');
-                if (!data) {
-                    layer.msg('请选择一条记录');
-                    return;
-                }
-                if(data.review_time){
-                    layer.msg('该付款单已复核');
-                    return;
-                }
-                if(data.status == '0' ){
-                    layer.msg('该付款单未审核,禁止复核');
-                    return;
-                }
-                layer.confirm('确定要复核吗?', function(index){
-                    layer.close(index);
-                    layui.admin.req({
-                        url: '/purchase/purchase_payment/review/?status=1&id='+data.id
-                        ,done: function(res){
-                            table.reload('datagrid',{});
-                        }
-                    });
-                });
-            });
-            $('#btn_review_back').on('click', function(){
-                var data = utils.getSelectedRow('datagrid');
-                if (!data) {
-                    layer.msg('请选择一条记录');
-                    return;
-                }
-                if(!data.review_time){
-                    layer.msg('该付款单未复核,禁止撤销复核');
-                    return;
-                }
-                if(data.ratify_time){
-                    layer.msg('该付款单已批准,禁止撤销复核');
-                    return;
-                }
-                layer.confirm('确定要撤销复核吗?', function(index){
-                    layer.close(index);
-                    layui.admin.req({
-                        url: '/purchase/purchase_payment/review/?status=0&id='+data.id
-                        ,done: function(res){
-                            table.reload('datagrid',{});
-                        }
-                    });
-                });
-            });
-            $('#btn_ratify').on('click', function(){
-                var data = utils.getSelectedRow('datagrid');
-                if (!data) {
-                    layer.msg('请选择一条记录');
-                    return;
-                }
-                if(!data.review_time){
-                    layer.msg('该付款单未复核');
-                    return;
-                }
-                if(data.ratify_time){
-                    layer.msg('该付款单已批准');
-                    return;
-                }
-                layer.confirm('确定要批准吗?', function(index){
-                    layer.close(index);
-                    layui.admin.req({
-                        url: '/purchase/purchase_payment/ratify/?status=1&id='+data.id
-                        ,done: function(res){
-                            table.reload('datagrid',{});
-                        }
-                    });
-                });
-            });
-            $('#btn_ratify_back').on('click', function(){
-                var data = utils.getSelectedRow('datagrid');
-                if (!data) {
-                    layer.msg('请选择一条记录');
-                    return;
-                }
-                if(!data.ratify_time){
-                    layer.msg('该付款单未批准');
-                    return;
-                }
-                if(data.is_pay){
-                    layer.msg('该付款单已付款');
-                    return;
-                }
-                layer.confirm('确定要撤销批准吗?', function(index){
-                    layer.close(index);
-                    layui.admin.req({
-                        url: '/purchase/purchase_payment/ratify/?status=0&id='+data.id
-                        ,done: function(res){
-                            table.reload('datagrid',{});
-                        }
-                    });
-                });
-            });
             $('#btn_pay').on('click', function(){
                 var data = utils.getSelectedRow('datagrid');
                      if(data == false){
                          return;
                      }
 
-                 if (!data.ratify_time) {
-                     layer.msg('该付款单尚未批准,不允许付款');
+                 if (data.status === 0) {
+                     layer.msg('该付款单尚未审核,不允许付款');
                      return false;
                  }
                     var actual_amount = parseFloat(data.actual_amount);

+ 0 - 8
uis/views/purchase/purchase_payment_print.html

@@ -69,8 +69,6 @@
                     <tr style="height: 80px;">
                         <td align="center" width="25%">申请人:<span id="create_user"></span></td>
                         <td align="center" width="25%">审核人:<span id="check_user"></span></td>
-                        <td align="center" width="25%">复核人:<span id="review_user"></span></td>
-                        <td align="center" width="25%">批准人:<span id="approval_user"></span></td>
                     </tr>
                 </table>
             </div>
@@ -96,12 +94,6 @@
     if (data.check_user_text) {
         $('#check_user').html(data.check_user_text+ ',' + data.check_time);
     }
-    if (data.review_user_text){
-        $('#review_user').html(data.review_user_text + ',' + data.review_time);
-    }
-    if (data.ratify_user_text) {
-        $('#approval_user').html(data.ratify_user_text + ',' + data.ratify_time);
-    }
 
     $('.cell').each(function (index, element) {
         element.innerHTML += ':' + (data[element.id]||'')