|
@@ -1,17 +1,18 @@
|
|
|
+import datetime
|
|
|
import json
|
|
|
-import traceback
|
|
|
+import re
|
|
|
|
|
|
from django import http
|
|
|
-from django.shortcuts import render
|
|
|
+from django.db import connection
|
|
|
from django.db import transaction
|
|
|
|
|
|
from django.views import View
|
|
|
-from django.db import connection
|
|
|
|
|
|
from utils.cust_data import customer_data
|
|
|
+from utils.et_CACC_NO import et_CACC_NO
|
|
|
from utils.examine_ood import examine_ood
|
|
|
from utils.usr_data import usr_data
|
|
|
-import datetime
|
|
|
+
|
|
|
|
|
|
|
|
|
class PaymentOperationView(View):
|
|
@@ -46,7 +47,23 @@ class PaymentOperationView(View):
|
|
|
USR_NAME = request.POST.get("USR_NAME")
|
|
|
MF_LZ1 = request.POST.get("MF_LZ1")
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+ if RP_NO[:3] != 'PTF' or len(RP_NO) != 10:
|
|
|
+ return http.HttpResponseForbidden('付款单号输入不合法,单号必须是PTF开头且长度必须是10位')
|
|
|
+
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d')
|
|
|
+ except Exception:
|
|
|
+ return http.HttpResponseForbidden('日期格式输入不正确')
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入付款单号')
|
|
|
+
|
|
|
+ sum_CACC_NO = et_CACC_NO(CACC_NO)
|
|
|
+ if sum_CACC_NO == 'NO':
|
|
|
+ return http.HttpResponseForbidden('请检查银行账号是否存在或者是否输入正确')
|
|
|
+
|
|
|
+ if re.compile('(^-?[0-9](\d+)?(\.\d{1,6})?$)|(^0$)|(^\d\.\d{1,2}$)').match(str(AMTN_BC)) is None:
|
|
|
+ return http.HttpResponseForbidden('金额输入不正确')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO > 0:
|
|
@@ -136,7 +153,8 @@ class PaymentOperationView(View):
|
|
|
|
|
|
|
|
|
|
|
|
- row_AMT = cursor.execute("SELECT CAST(ISNULL(AMT,0) AS INT ),BIL_NO FROM MF_ARP WHERE BIL_NO=%s", [MF_LZ1]).fetchall()[0][0]
|
|
|
+ row_AMT = cursor.execute("SELECT ISNULL(AMT,0) FROM MF_ARP WHERE BIL_NO=%s", [MF_LZ1]).fetchall()[0][0]
|
|
|
+ print(row_AMT)
|
|
|
if row_AMT<=0:
|
|
|
cursor.execute("""UPDATE MF_ARP SET CLOSE_ID='T' WHERE BIL_NO=%s""",[MF_LZ1])
|
|
|
cursor.execute("""UPDATE MF_PSS SET LZ_CLS_ID='T',CLSLZ='T' WHERE PS_NO=%s""",['PC'+MF_LZ1[2::]])
|
|
@@ -159,11 +177,6 @@ class PaymentOperationView(View):
|
|
|
CACC_NO = req_data.get("CACC_NO")
|
|
|
MF_LZ1 = req_data.get("MF_LZ1")
|
|
|
UP_DD = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
|
- print(RP_NO)
|
|
|
- print(RP_DD)
|
|
|
- print(AMTN_BC)
|
|
|
- print(CACC_NO)
|
|
|
- print(MF_LZ1)
|
|
|
|
|
|
|
|
|
|
|
@@ -171,10 +184,24 @@ class PaymentOperationView(View):
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d')
|
|
|
+ except Exception:
|
|
|
+ return http.HttpResponseForbidden('日期格式输入不正确')
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入收款单号')
|
|
|
+
|
|
|
+ if re.compile('(^-?[0-9](\d+)?(\.\d{1,6})?$)|(^0$)|(^\d\.\d{1,2}$)').match(str(AMTN_BC)) is None:
|
|
|
+ return http.HttpResponseForbidden('金额输入不正确')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO <= 0:
|
|
|
return http.HttpResponseForbidden('付款单号不存在')
|
|
|
+
|
|
|
+ sum_CACC_NO = et_CACC_NO(CACC_NO)
|
|
|
+ if sum_CACC_NO == 'NO':
|
|
|
+ return http.HttpResponseForbidden('请检查银行账号是否存在或者是否输入正确')
|
|
|
|
|
|
|
|
|
|
|
@@ -266,11 +293,10 @@ class PaymentOperationView(View):
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入收款单号')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO <= 0:
|
|
@@ -349,6 +375,24 @@ class ExpectedOperationView(View):
|
|
|
CACC_NO = request.POST.get("CACC_NO")
|
|
|
USR = request.POST.get("USR")
|
|
|
USR_NAME = request.POST.get("USR_NAME")
|
|
|
+
|
|
|
+
|
|
|
+ if RP_NO[:4] != 'PTYF' or len(RP_NO) != 11:
|
|
|
+ return http.HttpResponseForbidden('预付款单号输入不合法,单号必须是PTYF开头且长度必须是11位')
|
|
|
+
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d')
|
|
|
+ except Exception:
|
|
|
+ return http.HttpResponseForbidden('日期格式输入不正确')
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入预付款单号')
|
|
|
+
|
|
|
+ sum_CACC_NO = et_CACC_NO(CACC_NO)
|
|
|
+ if sum_CACC_NO == 'NO':
|
|
|
+ return http.HttpResponseForbidden('请检查银行账号是否存在或者是否输入正确')
|
|
|
+
|
|
|
+ if re.compile('(^-?[0-9](\d+)?(\.\d{1,6})?$)|(^0$)|(^\d\.\d{1,2}$)').match(str(AMTN_BC)) is None:
|
|
|
+ return http.HttpResponseForbidden('金额输入不正确')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO > 0:
|
|
@@ -361,9 +405,9 @@ class ExpectedOperationView(View):
|
|
|
row_cus_no = customer_data(CUS_NO, CUS_NO_NAME, '2', datetime.datetime.strptime(RP_DD, '%Y-%m-%d'))
|
|
|
|
|
|
with connection.cursor() as cursor:
|
|
|
+
|
|
|
|
|
|
Acc_No_km = cursor.execute("""SELECT ISNULL(Acc_No,'') FROM BACC WHERE BACC_NO=%s""", [CACC_NO]).fetchall()[0][0]
|
|
|
- print(Acc_No_km)
|
|
|
if Acc_No_km=='':
|
|
|
return http.HttpResponseForbidden('银行会计科目不存在')
|
|
|
|
|
@@ -394,8 +438,11 @@ class ExpectedOperationView(View):
|
|
|
|
|
|
cursor.execute("""INSERT INTO MF_BAC(BB_ID,BB_NO,BB_DD,BACC_NO,ACC_NO,DEP,BIL_NO,EXC_RTO,AMTN,USR,CHK_MAN,OPN_ID,CLS_DATE,SYS_DATE,BIL_ID_N,BIL_NO_N)VALUES
|
|
|
('BT',%s,%s,%s,%s,'0000',%s,1,%s,%s,%s,'F',%s,%s,'PT',%s)""",
|
|
|
- ['BT'+RP_NO[2::],datetime.datetime.strptime(RP_DD, '%Y-%m-%d'),CACC_NO,'BT'+RP_NO,-float(AMTN_BC),Acc_No_km,USR,USR,datetime.datetime.strptime(RP_DD, '%Y-%m-%d'),datetime.datetime.strptime(RP_DD, '%Y-%m-%d'),
|
|
|
- RP_NO])
|
|
|
+ ['BT' + RP_NO[2::], datetime.datetime.strptime(RP_DD, '%Y-%m-%d'), CACC_NO, Acc_No_km,
|
|
|
+ 'BT' + RP_NO,
|
|
|
+ float(AMTN_BC), USR, USR, datetime.datetime.strptime(RP_DD, '%Y-%m-%d'),
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d'),
|
|
|
+ RP_NO])
|
|
|
|
|
|
|
|
|
|
|
@@ -442,7 +489,23 @@ class ExpectedOperationView(View):
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+ if RP_NO[:4] != 'RTFS' or len(RP_NO) != 11:
|
|
|
+ return http.HttpResponseForbidden('预付款单号输入不合法,单号必须是RTFS开头且长度必须是11位')
|
|
|
+
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d')
|
|
|
+ except Exception:
|
|
|
+ return http.HttpResponseForbidden('日期格式输入不正确')
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入预付款单号')
|
|
|
+
|
|
|
+ sum_CACC_NO = et_CACC_NO(CACC_NO)
|
|
|
+ if sum_CACC_NO == 'NO':
|
|
|
+ return http.HttpResponseForbidden('请检查银行账号是否存在或者是否输入正确')
|
|
|
+
|
|
|
+ if re.compile('(^-?[0-9](\d+)?(\.\d{1,6})?$)|(^0$)|(^\d\.\d{1,2}$)').match(str(AMTN_BC)) is None:
|
|
|
+ return http.HttpResponseForbidden('金额输入不正确')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO == 0:
|
|
@@ -516,13 +579,13 @@ class ExpectedOperationView(View):
|
|
|
RP_NO = req_data.get("RP_NO")
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
+
|
|
|
+ if RP_NO[:4] != 'PTYF' or len(RP_NO) != 11:
|
|
|
+ return http.HttpResponseForbidden('预付款单号输入不合法,单号必须是RTFS开头且长度必须是11位')
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入预付款单号')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON1', 'IRP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO > 0:
|
|
@@ -591,19 +654,61 @@ class ExpectedPtOperationView(View):
|
|
|
CUS_NO = req_data.get("CUS_NO")
|
|
|
USR = req_data.get("USR")
|
|
|
list = req_data.get("list")
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入付款单号')
|
|
|
+
|
|
|
+ if IRP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入预付款单号')
|
|
|
+
|
|
|
+ if RP_NO[:4] != 'PTYC' or len(RP_NO) != 11:
|
|
|
+ return http.HttpResponseForbidden('付款单号输入不合法,单号必须是PTYC开头且长度必须是11位')
|
|
|
+
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d')
|
|
|
+ except Exception:
|
|
|
+ return http.HttpResponseForbidden('日期格式输入不正确')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO > 0:
|
|
|
return http.HttpResponseForbidden('预付款冲应付单据号码已存在')
|
|
|
+
|
|
|
+ row_ZL_NO = examine_ood('TF_MON', 'RP_NO', IRP_NO, 'RP_ID', '2')
|
|
|
+ if row_ZL_NO <= 0:
|
|
|
+ return http.HttpResponseForbidden('预冲款单号不存在')
|
|
|
|
|
|
sum_ATM = 0
|
|
|
yf_sum = 0
|
|
|
for i in list:
|
|
|
+
|
|
|
+ if i["DH"][:3] != 'LPF' or len(i["DH"]) != 10:
|
|
|
+ return http.HttpResponseForbidden('开票单号输入不合法,单号必须是LPF开头且长度必须是10位')
|
|
|
+
|
|
|
+ if re.compile('(^-?[0-9](\d+)?(\.\d{1,6})?$)|(^0$)|(^\d\.\d{1,2}$)').match(str(i["ATM"])) is None:
|
|
|
+ return http.HttpResponseForbidden('金额输入不正确')
|
|
|
sum_ATM = round(sum_ATM + i["ATM"], 4)
|
|
|
+
|
|
|
+ row_MF_LZ = examine_ood('MF_LZ1', 'LZ_NO', i["DH"], 'LZ_ID', 'LP')
|
|
|
+ if row_MF_LZ <= 0:
|
|
|
+ return http.HttpResponseForbidden('开票单号不存在')
|
|
|
+
|
|
|
+ row_ZL_NO = examine_ood('TF_MON', 'RP_NO', IRP_NO, 'RP_ID', '2')
|
|
|
+ if row_ZL_NO <= 0:
|
|
|
+ return http.HttpResponseForbidden('预冲款单号不存在')
|
|
|
with connection.cursor() as cursor:
|
|
|
|
|
|
yf_sum =round(yf_sum + cursor.execute("""SELECT AMTN FROM MF_ARP WHERE BIL_NO=%s""", [i["DH"]]).fetchall()[0][0], 4)
|
|
@@ -652,8 +757,7 @@ class ExpectedPtOperationView(View):
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -726,16 +830,52 @@ class ExpectedPtOperationView(View):
|
|
|
RP_DD = req_data.get("RP_DD")
|
|
|
list = req_data.get("list")
|
|
|
UP_DD = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
|
+
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入付款单号')
|
|
|
+
|
|
|
+ if IRP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入预付款单号')
|
|
|
+
|
|
|
+ if RP_NO[:4] != 'PTYC' or len(RP_NO) != 11:
|
|
|
+ return http.HttpResponseForbidden('付款单号输入不合法,单号必须是PTYC开头且长度必须是11位')
|
|
|
+
|
|
|
+ try:
|
|
|
+ datetime.datetime.strptime(RP_DD, '%Y-%m-%d')
|
|
|
+ except Exception:
|
|
|
+ return http.HttpResponseForbidden('日期格式输入不正确')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO <= 0:
|
|
|
return http.HttpResponseForbidden('付款单不存在')
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
sum_ATM = 0
|
|
|
yf_sum = 0
|
|
|
for i in list:
|
|
|
+
|
|
|
+ if i["DH"][:3] != 'LPF' or len(i["DH"]) != 10:
|
|
|
+ return http.HttpResponseForbidden('开票单号输入不合法,单号必须是LPF开头且长度必须是10位')
|
|
|
+
|
|
|
+ if re.compile('(^-?[0-9](\d+)?(\.\d{1,6})?$)|(^0$)|(^\d\.\d{1,2}$)').match(str(i["ATM"])) is None:
|
|
|
+ return http.HttpResponseForbidden('金额输入不正确')
|
|
|
sum_ATM = round(sum_ATM + i["ATM"], 4)
|
|
|
+
|
|
|
+ row_MF_LZ = examine_ood('MF_LZ1', 'LZ_NO', i["DH"], 'LZ_ID', 'LP')
|
|
|
+ if row_MF_LZ <= 0:
|
|
|
+ return http.HttpResponseForbidden('开票单号不存在')
|
|
|
with connection.cursor() as cursor:
|
|
|
|
|
|
yf_sum = round(
|
|
@@ -853,6 +993,16 @@ class ExpectedPtOperationView(View):
|
|
|
|
|
|
RP_NO = req_data.get("RP_NO")
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if RP_NO is None:
|
|
|
+ return http.HttpResponseForbidden('请输入付款单号')
|
|
|
+
|
|
|
+ if RP_NO[:4] != 'PTYC' or len(RP_NO) != 11:
|
|
|
+ return http.HttpResponseForbidden('付款单号输入不合法,单号必须是PTYC开头且长度必须是11位')
|
|
|
|
|
|
row_ZL_NO = examine_ood('TF_MON', 'RP_NO', RP_NO,'RP_ID','2')
|
|
|
if row_ZL_NO <= 0:
|
|
@@ -893,13 +1043,13 @@ class ExpectedPtOperationView(View):
|
|
|
cursor.execute("""UPDATE MF_ARP SET CLOSE_ID='F' WHERE ARP_NO=%s""", [i[0]])
|
|
|
cursor.execute("""UPDATE MF_PSS SET LZ_CLS_ID='F',CLSLZ='F' WHERE PS_NO=%s""",['PC' + i[0][2::]])
|
|
|
|
|
|
- cursor.execute("""DELETE FROM TF_MON1 WHERE RP_NO=%s RP_ID='2'""", [RP_NO])
|
|
|
+ cursor.execute("""DELETE FROM TF_MON1 WHERE RP_NO=%s AND RP_ID='2'""", [RP_NO])
|
|
|
|
|
|
- cursor.execute("""DELETE FROM TF_MON WHERE RP_NO=%s RP_ID='2'""", [RP_NO])
|
|
|
+ cursor.execute("""DELETE FROM TF_MON WHERE RP_NO=%s AND RP_ID='2'""", [RP_NO])
|
|
|
|
|
|
- cursor.execute("""DELETE FROM TC_MON WHERE RP_NO=%s RP_ID='2'""", [RP_NO])
|
|
|
+ cursor.execute("""DELETE FROM TC_MON WHERE RP_NO=%s AND RP_ID='2'""", [RP_NO])
|
|
|
|
|
|
- cursor.execute("""DELETE FROM MF_MON WHERE RP_NO=%s RP_ID='2'""", [RP_NO])
|
|
|
+ cursor.execute("""DELETE FROM MF_MON WHERE RP_NO=%s AND RP_ID='2'""", [RP_NO])
|
|
|
except Exception:
|
|
|
transaction.savepoint_rollback(sid)
|
|
|
return http.HttpResponseForbidden("预计冲应该付作业修改单据sql语句执行异常")
|