提交 9dc2e6f2 authored 作者: 李思鑫's avatar 李思鑫

add:包材管理可编辑

上级 85084238
......@@ -1223,14 +1223,15 @@ urlpatterns = [
#lisin 2024-08-23 包材管理相关
url(r'^packaging/supplier/manage/(?P<id>\d+)/$', list_views.packaging_supplier_manage),
url(r'^mes/query/packaging/purchase/$', mes_views.packaging_purchase_query),
url(r'^mes/packaging/purchase/list/$', mes_views.packaging_purchase_list),
url(r'^mes/packaging/purchase/list/$', mes_views.packaging_purchase_list),
url(r'^mes/packaging/purchase/edit/$', mes_views.packaging_purchase_edit),
url(r'^mes/packaging/purchase/edit/(?P<id>\d+)/$', mes_views.packaging_purchase_edit),
url(r'^mes/packaging/instore/list/$', mes_views.packaging_instore_list),
url(r'^mes/packaging/instore/edit/$', mes_views.packaging_instore_edit),
url(r'^mes/packaging/instore/edit/(?P<id>\d+)/$', mes_views.packaging_instore_edit),
url(r'^mes/packaging/inventory/(?P<what>\w+)/$', mes_views.packaging_inventory),
url(r'^mes/packaging/receive/list/$', mes_views.packaging_receive_list),
# url(r'^mes/packaging/receive/$', mes_views.packaging_receive),
url(r'^mes/packaging/receive/$', mes_views.packaging_receive),
url(r'^mes/packaging/receive/(?P<id>\d+)/$', mes_views.packaging_receive),
......
......@@ -231,6 +231,7 @@ class PackagingPurchaseRecordForm(ModelForm):
model = PackagingPurchasRecord
fields='__all__'
widgets={
'code': forms.TextInput(attrs={'readonly': 'readonly'}),
'company':forms.HiddenInput(),
}
......@@ -247,7 +248,7 @@ class PackagingInstoreForm(ModelForm):
widgets={
'code': forms.TextInput(attrs={'readonly': 'readonly'}),
'company':forms.HiddenInput(),
# 'Packaging':forms.HiddenInput()
'Packaging':forms.HiddenInput()
}
def __init__(self, *args, **kwargs):
......@@ -266,6 +267,7 @@ class PackagingReceiveForm(ModelForm):
model = PackagingReceive
fields='__all__'
widgets={
'code': forms.TextInput(attrs={'readonly': 'readonly'}),
'company':forms.HiddenInput(),
}
......
......@@ -229,7 +229,7 @@ class PackagingPurchasRecord(models.Model):
class Meta:
verbose_name = _('包材采购记录')
verbose_name_plural = _('包材采购记录')
unique_together = ("company", "packaging", "vendor")
unique_together = ("company", "packaging", "code")
def __str__(self):
return self.name
......
......@@ -102,7 +102,9 @@ def edit_Storehouse(request,id=None):
#采购记录查询
@login_required
def packaging_purchase_query(request):
packaging_purchase_id = request.GET.get('id')
packaging_purchase_id = request.GET.get('purchase_id')
instore_id = int(request.GET.get('instore_id')) if request.GET.get('instore_id') != 'None' else request.GET.get('instore_id')
try:
packaging_purchase = PackagingPurchasRecord.objects.get(id=packaging_purchase_id)
packaging = Packaging.objects.get(id=packaging_purchase.packaging.id)
......@@ -114,12 +116,27 @@ def packaging_purchase_query(request):
yet_instore_num = 0
if len(packaging_instore):
for i in packaging_instore:
yet_instore_num += i.instore_num
if int(i.id) != instore_id:#排除当前入库记录数量
yet_instore_num += i.instore_num
#查询库存
instore_num=0
receive_num=0
packaging_instore = PackagingInstore.objects.filter( company=request.user.company, packaging=packaging)
packaging_receive = PackagingReceive.objects.filter( company=request.user.company, packaging=packaging)
if len(packaging_instore):
for item in packaging_instore:
instore_num += int(item.instore_num)
if len(packaging_receive):
for i in packaging_receive:
receive_num += int(i.receive_num)
packaging_inventory = instore_num - receive_num
data = {
'dt': packaging_purchase.dt,
'qty': packaging_purchase.qty, #采购数量
'yet_instore_num': yet_instore_num, #已入库数量
'yet_instore_num': yet_instore_num, #采购单已入库数量
'packaging_inventory': packaging_inventory,
'packaging_id': packaging.id,
'packaging_code': packaging.code,
'packaging_name': packaging.name,
......@@ -134,9 +151,9 @@ def packaging_purchase_query(request):
def packaging_purchase_list(request):
company_id=request.user.company_id
data={'data':[],'clmns':[],'e':[],'subtt':['库存管理', '包装材料采购'],'order': [],
'murl':'/mes/packaging/purchase/edit/22','dt':False,'add':True,'allown_delete':True,'show_add':True}
'murl':'/mes/packaging/purchase/edit/','dt':False,'add':True,'allown_delete':True,'show_add':True}
data['clmns']=[_("采购编码"),_("采购时间"),_("包材编码"),_('包材名称'),('规格型号'),_("单位"),_("采购供应商"),_("采购单价"),_("采购数量"),_("采购总价") ]
s="select coalesce(a.code,''), to_char(a.dt,'yyyy-mm-dd'), p.code, p.name, coalesce(p.specification,''),"+\
s="select a.id, coalesce(a.code,''), to_char(a.dt,'yyyy-mm-dd'), p.code, p.name, coalesce(p.specification,''),"+\
"case when p.unit_id IS NOT NULL THEN (select name from mes_unit where id=p.unit_id) else '/' end,"+\
"v.name, a.unit_price, a.qty, a.total_price "+\
"from mes_packagingpurchasrecord a "+\
......@@ -146,27 +163,29 @@ def packaging_purchase_list(request):
cur=connection.cursor()
cur.execute(s)
for r in cur.fetchall():
data['data'].append([ r[0],r[1],r[2],r[3],r[4],r[5],r[6],int(r[7]),int(r[8]),int(r[9]) ])
code_link = f"<a href='/mes/packaging/purchase/edit/{r[0]}'>{r[1]}<a/>"
data['data'].append([ code_link,r[2],r[3],r[4],r[5],r[6],r[7],float(r[8]),int(r[9]),float(r[10]) ])
return render(request,'obj/list_obj.html',data)
#包材采购记录添加/编辑
@login_required
def packaging_purchase_edit(request,id:None):
# if id:
# obj = m.objects.get(id=int(id))
# else:
# obj = CompanyunitForm()
def packaging_purchase_edit(request,id=None):
if id is not None:
obj = PackagingPurchasRecord.objects.get(id=int(id))
else:
obj = PackagingPurchasRecord()
is_saved=False
company_id=request.user.company.id
obj = PackagingPurchasRecord()
obj.company = request.user.company
obj.company_id = company_id
md_packaging = Packaging.objects.filter(company=request.user.company).all()
md_vendor = Vendor.objects.filter(company=request.user.company).all()
print('company_id',request.user.company_id)
if request.method == 'GET':
form = PackagingPurchaseRecordForm(instance = obj,user=request.user)
if id is None: #新增 创建编码
obj.code = create_code('CG')
form = PackagingPurchaseRecordForm(instance = obj,user=request.user)
elif request.method == "POST":
form = PackagingPurchaseRecordForm(request.POST,instance = obj,user=request.user)
if form.is_valid():
......@@ -181,9 +200,9 @@ def packaging_purchase_edit(request,id:None):
def packaging_instore_list(request):
company_id=request.user.company_id
data={'data':[],'clmns':[],'e':[],'subtt':['库存管理', '包装材料入库'],'order': [],
'murl':'/mes/packaging/instore/edit/0','dt':False,'add':True,'allown_delete':True,'show_add':True}
'murl':'/mes/packaging/instore/edit/','dt':False,'add':True,'allown_delete':True,'show_add':True}
data['clmns']=[_("入库编码"),_("入库时间"),_("采购编码"),_("采购时间"),_("包材编码"),_("包材名称"),_("规格型号"),_("单位"),_("采购供应商"),_("采购数量"),_("入库数量") ]
s="select coalesce(a.code,''), to_char(a.dt,'yyyy-mm-dd'), ppr.code, to_char(ppr.dt,'yyyy-mm-dd'), p.code," +\
s="select a.id, coalesce(a.code,''), to_char(a.dt,'yyyy-mm-dd'), ppr.code, to_char(ppr.dt,'yyyy-mm-dd'), p.code," +\
"p.name, coalesce(p.specification,'/'),"+\
"case when p.unit_id IS NOT NULL THEN (select name from mes_unit where id=p.unit_id) else '/' end,"+\
"v.name, ppr.qty, a.instore_num "+\
......@@ -194,49 +213,36 @@ def packaging_instore_list(request):
"where a.company_id="+ str(company_id)
cur=connection.cursor()
cur.execute(s)
for r in cur.fetchall():
data['data'].append([ r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10] ])
for r in cur.fetchall():
code_link = f"<a href='/mes/packaging/instore/edit/{r[0]}'>{r[1]}<a/>"
data['data'].append([ code_link,r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11] ])
return render(request,'obj/list_obj.html',data)
#包材入库记录添加/编辑
@login_required
def packaging_instore_edit(request,id:None):
# if id:
# obj = m.objects.get(id=int(id))
# else:
# obj = CompanyunitForm()
def packaging_instore_edit(request,id=None):
if id:
obj = PackagingInstore.objects.get(id=int(id))
else:
obj = PackagingInstore()
is_saved=False
company_id=request.user.company.id
obj = PackagingInstore()
obj.company = request.user.company
obj.company_id = company_id
if request.method == 'GET':
if id is None:#新增 创建code
obj.code = create_code('RK')
form = PackagingInstoreForm(instance = obj,user=request.user)
elif request.method == "POST":
packaging_id=request.POST.get('packaging')
packaging = Packaging.objects.get(id=packaging_id)
form = PackagingInstoreForm(request.POST,instance = obj,user=request.user)
PI = PackagingInventory.objects.filter( company=request.user.company, packaging=packaging).first()
if form.is_valid():
#采购记录添加
form.save()
#是否存在该公司包材库存记录
if PI:
# 如果存在,增加 num 的值
PI.num += int(request.POST.get('instore_num'))
PI.save()
else:
print('新增库存记录')
# 如果不存在,新增一条记录
packaging_inventory = PackagingInventory(
company=request.user.company,
packaging=packaging,
num=int(request.POST.get('instore_num'))
)
packaging_inventory.save()
is_saved = True
return render(request,'mes/packaging_instore_edit.html',{'form':form,'is_saved':is_saved,})
return render(request,'mes/packaging_instore_edit.html',{'form':form,'is_saved':is_saved, 'instore_id':id})
#包材库存
def packaging_inventory(request,what=None):
......@@ -246,9 +252,21 @@ def packaging_inventory(request,what=None):
try:
packaging = Packaging.objects.get(id=packaging_id)
#查询库存
packaging_inventory = PackagingInventory.objects.filter( company=request.user.company, packaging=packaging).first()
instore_num=0
receive_num=0
packaging_instore = PackagingInstore.objects.filter( company=request.user.company, packaging=packaging)
packaging_receive = PackagingReceive.objects.filter( company=request.user.company, packaging=packaging)
if len(packaging_instore):
for item in packaging_instore:
instore_num += int(item.instore_num)
if len(packaging_receive):
for i in packaging_receive:
receive_num += int(i.receive_num)
print('packaging_inventory',instore_num,receive_num)
packaging_inventory = instore_num - receive_num
data = {
'inventory_num': packaging_inventory.num if packaging_inventory else 0,
'inventory_num': packaging_inventory,
'packaging_code': packaging.code,
'packaging_name': packaging.name,
'packaging_specification': packaging.specification,
......@@ -262,20 +280,21 @@ def packaging_inventory(request,what=None):
data={'data':[],'clmns':[],'e':[],'subtt':['库存管理', '包材库存报表'],'order': [],
'murl':'','dt':False,'add':False,'allown_delete':False,'show_add':False}
data['clmns']=[_("包材编码"),_("包材名称"),_("规格型号"),_("单位"),_("采购数量"),_("入库数量"),_("领用数量"),_("库存数量")]
s="select a.id, coalesce(p.code,''), coalesce(p.name,''), coalesce(p.specification,'/'),"+\
s="select p.id, p.code, p.name, coalesce(p.specification,'/'),"+\
"case when p.unit_id IS NOT NULL THEN (select name from mes_unit where id=p.unit_id) else '/' end,"+\
"SUM(distinct purchase.qty), SUM(distinct instore.instore_num), SUM(distinct receive.receive_num), a.num "+\
"from mes_packaginginventory a "+\
"inner join mes_packaging p on a.packaging_id=p.id "+\
"inner join mes_packagingpurchasrecord purchase on purchase.packaging_id=p.id "+\
"inner join mes_packaginginstore instore on instore.packaging_id=p.id "+\
"inner join mes_packagingreceive receive on receive.packaging_id=p.id "+\
"where a.company_id="+ str(company_id) +' '\
"group by a.id, p.code, p.name, p.specification, p.unit_id, a.num"
"(select SUM(purchase.qty) from mes_packagingpurchasrecord purchase where purchase.packaging_id=p.id),"+\
"(select SUM(instore.instore_num) from mes_packaginginstore instore where instore.packaging_id=p.id),"+\
"(select SUM(receive.receive_num) from mes_packagingreceive receive where receive.packaging_id=p.id),"+\
"(select SUM(instore.instore_num) from mes_packaginginstore instore where instore.packaging_id=p.id) - (select SUM(receive.receive_num) from mes_packagingreceive receive where receive.packaging_id=p.id) as inventory_num "+\
"from mes_packaging p "+\
"where p.company_id="+ str(company_id)
cur=connection.cursor()
cur.execute(s)
for r in cur.fetchall():
data['data'].append([ r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8] ])
# 将 None 转换为 /
r = ["/" if x is None else x for x in r]
inventory_num = max(0, r[8])
data['data'].append([ r[1],r[2],r[3],r[4],r[5],r[6],r[7],inventory_num ])
return render(request,'obj/list_obj.html',data)
# 包材领用记录list
......@@ -283,7 +302,7 @@ def packaging_inventory(request,what=None):
def packaging_receive_list(request):
company_id=request.user.company_id
data={'data':[],'clmns':[],'e':[],'subtt':['库存管理', '包装材料领用'],'order': [],
'murl':'/mes/packaging/receive/0','dt':False,'add':True,'allown_delete':True,'show_add':True}
'murl':'/mes/packaging/receive/','dt':False,'add':True,'allown_delete':True,'show_add':True}
data['clmns']=[_("领用编码"),_("领用时间"),_("包材编码"),_('包材名称'),('规格型号'),_("单位"),("领取数量") ]
s="select a.id, coalesce(a.code,''), to_char(a.dt,'yyyy-mm-dd'), p.code, p.name, coalesce(p.specification,'/'),"+\
"case when p.unit_id IS NOT NULL THEN (select name from mes_unit where id=p.unit_id) else '/' end,"+\
......@@ -293,15 +312,16 @@ def packaging_receive_list(request):
"where a.company_id="+ str(company_id)
cur=connection.cursor()
cur.execute(s)
for r in cur.fetchall():
data['data'].append([ r[1],r[2],r[3],r[4],r[5],r[6],r[7] ])
for r in cur.fetchall():
code_link = f"<a href='/mes/packaging/receive/{r[0]}'>{r[1]}<a/>"
data['data'].append([ code_link,r[2],r[3],r[4],r[5],r[6],r[7] ])
return render(request,'obj/list_obj.html',data)
#包材领用记录 添加/编辑
@login_required
def packaging_receive(request,id:None):
if int(id):
def packaging_receive(request,id=None):
if id:
obj = PackagingReceive.objects.get(id=int(id))
else:
obj = PackagingReceive()
......@@ -310,19 +330,17 @@ def packaging_receive(request,id:None):
obj.company = request.user.company
obj.company_id = company_id
if request.method == 'GET':
if id is None:#新增 创建code
obj.code = create_code('LY')
form = PackagingReceiveForm(instance = obj,user=request.user)
elif request.method == "POST":
form = PackagingReceiveForm(request.POST,instance = obj,user=request.user)
packaging_id = request.POST.get('packaging')
receive_num = request.POST.get('receive_num')
packaging = Packaging.objects.get(id=packaging_id)
PI = PackagingInventory.objects.filter( company=request.user.company, packaging=packaging).first()
if form.is_valid() and PI and PI.num>=int(receive_num):
if form.is_valid():
form.save()
is_saved = True
# 领用减少库存
PI.num -= int(receive_num)
PI.save()
return render(request,'mes/packaging_receive.html',{'form':form,'is_saved':is_saved,})
......
......@@ -11,9 +11,6 @@
{% block js %}
{{ block.super }}
$('.btn-save').click(function(){
$.SubmitForm('#obj_form form','{{request.path}}');
});
{% endblock %}
......@@ -31,51 +28,55 @@
{% block form_content %}
{{ block.super }}
<script type="text/javascript">
<script type="text/javascript">
$(document).ready(function() {
//生成设置 日期编码
var now = new Date();
var year = String(now.getFullYear());
var month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要加1并补零
var day = String(now.getDate()).padStart(2, '0');
var hours = String(now.getHours()).padStart(2, '0');
var minutes = String(now.getMinutes()).padStart(2, '0');
var seconds = String(now.getSeconds()).padStart(2, '0');
var defaultCodeValue = 'RK' + year + month + day + hours + minutes + seconds;
$('#id_code').val(defaultCodeValue);
//编辑 回显查询采购记录
var purchase_id = $('#id_packaging_purchas').val()*1
var instore_id = $('#id_instore').val()
var before_instore_num = $('#id_instore_num').val()?$('#id_instore_num').val()*1:0 //编辑前入库数量
console.log('instore_id',instore_id)
if(purchase_id){
queryPackagingPurchaseById({purchase_id,instore_id})
}
//入库数量校验
$('#id_instore_num').on('input', function(){
var purchase_num= $('#qty').val()*1;
var instore_num = $(this).val()*1;
function validateForm() {
var purchase_num = $('#qty').val()*1;
var instore_num = $('#id_instore_num').val()*1;
var inventory_num = $('#packaging_inventory').val()*1;
var yet_instore_num = $('#yet_instore_num').val()*1;
var can_instore_num = purchase_num - yet_instore_num;//可入库数量
console.log(can_instore_num, yet_instore_num)
var max_num = purchase_num - yet_instore_num; //可入库数量 最大
var max_min = (before_instore_num - inventory_num)>0 ? (before_instore_num - inventory_num) : 0 ; //可入库数量 最小
if(purchase_num && instore_num){
if(instore_num > can_instore_num){
toastr.error('入库数量不能大于' + can_instore_num);
$('#id_instore_num').val('');
}
if(instore_num > max_num){
toastr.error('入库数量不能大于' + max_num);
$('#id_instore_num').val("")
return false;
}
}
if(purchase_id && instore_num < max_min){//编辑修改
toastr.error('入库数量不能小于'+ max_min);
$('#id_instore_num').val("")
return false;
}
})
return true;
}
// 监听code字段的变化
$('#id_packaging_purchas').on('change', function() {
var id = $(this).val();
console.log('codeValue--',id)
// 发送AJAX请求获取相关数据
$.ajax({
var purchase_id = $(this).val()*1;
queryPackagingPurchaseById({purchase_id,instore_id})
});
function queryPackagingPurchaseById(data={}){
$.ajax({
url: '/mes/query/packaging/purchase/',
method: 'GET',
data: { id: id },
data: data,
success: function(response) {
// 在页面上显示相关数据
console.log('packagingPurchasRecord',response)
const {
dt,
qty, yet_instore_num,
qty, yet_instore_num, packaging_inventory,
packaging_id,packaging_code, packaging_name, packaging_specification,
vendor_name
}=response
......@@ -87,16 +88,25 @@
$('#vendor_name').val(vendor_name);
$('#qty').val(qty);
$('#yet_instore_num').val(yet_instore_num);
$('#packaging_inventory').val(packaging_inventory);
},
error: function(xhr, status, error) {
console.error('AJAX请求失败:', error);
}
});
});
});
}
// 表单提交时的数据校验
$('.btn-save').on('click', function(event) {
if (!validateForm()) {
event.preventDefault(); // 阻止表单提交
}else{
$.SubmitForm('#obj_form form','{{request.path}}');
}
});
});
</script>
<input type='hidden' type="number" value="{{instore_id}}" name="id_instore" id="id_instore" />
<input type='hidden' type="number" value="" name="packaging" id="id_packaging" />
<div class="form-group ">
<label class="col-sm-2 control-label ">{% trans '入库编码:' %} </label>
......@@ -147,10 +157,14 @@
</div>
</div>
<div class="form-group ">
<label class="col-sm-2 control-label ">{% trans '已入库数量:' %} </label>
<div class="col-sm-10">
<label class="col-sm-1 control-label ">{% trans '采购单已入数量:' %} </label>
<div class="col-sm-5">
<input type="text" disabled name='yet_instore_num' id='yet_instore_num' />
</div>
<label class="col-sm-1 control-label ">{% trans '库数量:' %} </label>
<div class="col-sm-5">
<input type="text" disabled name='packaging_inventory' id='packaging_inventory' />
</div>
</div>
<div class="form-group ">
......@@ -162,7 +176,7 @@
<div class="col-sm-10">{{ form.remark }}</div>
</div>
<div>
<a class="btn btn-primary btn-save" type="submit" style="float:right;">{% trans '保存' %}</a>
<a class="btn btn-primary btn-save" type="button" style="float:right;">{% trans '保存' %}</a>
</div>
{% endblock %}
......@@ -33,18 +33,6 @@
{{ block.super }}
<script type="text/javascript">
$(document).ready(function() {
//生成设置 日期编码
var now = new Date();
var year = String(now.getFullYear());
var month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要加1并补零
var day = String(now.getDate()).padStart(2, '0');
var hours = String(now.getHours()).padStart(2, '0');
var minutes = String(now.getMinutes()).padStart(2, '0');
var seconds = String(now.getSeconds()).padStart(2, '0');
var defaultCodeValue = 'CG' + year + month + day + hours + minutes + seconds;
$('#id_code').val(defaultCodeValue);
function calculateTotalPrice() {
var qty = parseFloat($('#id_qty').val()) || 0;
var unitPrice = parseFloat($('#id_unit_price').val()) || 0;
......
......@@ -33,18 +33,13 @@
{{ block.super }}
<script type="text/javascript">
$(document).ready(function() {
//生成设置 日期编码
var now = new Date();
var year = String(now.getFullYear());
var month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要加1并补零
var day = String(now.getDate()).padStart(2, '0');
var hours = String(now.getHours()).padStart(2, '0');
var minutes = String(now.getMinutes()).padStart(2, '0');
var seconds = String(now.getSeconds()).padStart(2, '0');
var defaultCodeValue = 'LY' + year + month + day + hours + minutes + seconds;
$('#id_code').val(defaultCodeValue);
//初始化
var id = $('#id_packaging').val();
var edit_receive_num = $('#id_receive_num').val()*1;
if(id) {
packagingInventoreByid(id)
}
//库存数量校验
$('#id_receive_num').on('input', function(){
var inventory_num = $('#inventory_num').val()*1;
......@@ -59,32 +54,38 @@
//根据包材id 查询库存、包材信息
$('#id_packaging').on('change', function() {
var id = $(this).val();
console.log('codeValue--',id)
// 发送AJAX请求获取相关数据
packagingInventoreByid(id)
});
//查询库存、包材信息
function packagingInventoreByid(id){
$.ajax({
url: '/mes/packaging/inventory/query/',
method: 'GET',
data: { id: id },
success: function(response) {
// 在页面上显示相关数据
console.log('packagingPurchasRecord',response)
const {
dt,
inventory_num,
packaging_code, packaging_name, packaging_specification,
vendor_name
}=response
$('#dt').val(dt);
$('#packaging_code').val(packaging_code);
$('#packaging_name').val(packaging_name);
$('#packaging_specification').val(packaging_specification);
$('#inventory_num').val(inventory_num);
},
error: function(xhr, status, error) {
console.error('AJAX请求失败:', error);
}
url: '/mes/packaging/inventory/query/',
method: 'GET',
data: { id: id },
success: function(response) {
// 在页面上显示相关数据
console.log('packagingPurchasRecord',response)
let {
dt,
inventory_num,
packaging_code, packaging_name, packaging_specification,
vendor_name
}=response
//之前领取的数量要加回库存 才是真实的可编辑领取数量
if(edit_receive_num) inventory_num += edit_receive_num
$('#dt').val(dt);
$('#packaging_code').val(packaging_code);
$('#packaging_name').val(packaging_name);
$('#packaging_specification').val(packaging_specification);
$('#inventory_num').val(inventory_num);
},
error: function(xhr, status, error) {
console.error('AJAX请求失败:', error);
}
});
});
}
});
</script>
......
......@@ -1709,4 +1709,14 @@ def block_consumer(consumer_id, ancestor_id, reason, jmcpid = ''):
r = cur.fetchone()
if not r:
cur.execute(f"insert into z_consumer_blacklist (consumer_id, ancestor_id, reason) values ({str(consumer_id)},{str(ancestor_id)},'{reason}')")
cur.execute(f"insert into z_consumer_blacklist_record (consumer_id, ancestor_id, reason, jmcpid) values ({str(consumer_id)},{str(ancestor_id)},'{reason}','{jmcpid}')")
\ No newline at end of file
cur.execute(f"insert into z_consumer_blacklist_record (consumer_id, ancestor_id, reason, jmcpid) values ({str(consumer_id)},{str(ancestor_id)},'{reason}','{jmcpid}')")
# 创建编码
def create_code(prefix):
now = datetime.datetime.now()
formatted_time = now.strftime("%Y%m%d%H%M%S")
if prefix:
return f"{prefix}{formatted_time}"
return formatted_time
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论