写完了领料功能

master
laoxiao 1 year ago
parent 5062f48c88
commit f02faf8772

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

@ -0,0 +1,6 @@
from django.apps import AppConfig
class ProductionInfoConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'production_info'

@ -0,0 +1,144 @@
from django.db import models
from django.utils import timezone
from ERP_5.utils.base_model import BaseModel
# BOM表中的物料模型类
class BomMaterialModel(BaseModel):
# 冗余字段
goods_code = models.CharField('货品编号,不让用户填写', max_length=28)
name = models.CharField(max_length=20, verbose_name='货品名称')
specification = models.CharField('货品规格', max_length=50, null=True, blank=True)
model_number = models.CharField('型号', max_length=50, null=True, blank=True)
units_name = models.CharField('单位名字', max_length=50, null=True, blank=True)
units = models.ForeignKey('goods_info.UnitsModel', on_delete=models.SET_NULL, null=True, blank=True)
remark = models.CharField('备注', max_length=512, blank=True, null=True)
purchase_price = models.DecimalField('采购价', max_digits=10, decimal_places=2, blank=True, default=0)
count = models.DecimalField('数量,最多精确到小数点后两位', max_digits=10, decimal_places=2, default=0)
money = models.DecimalField('费用,最多精确到小数点后两位', max_digits=10, decimal_places=2, default=0)
goods = models.ForeignKey('goods_info.GoodsModel', null=True, on_delete=models.SET_NULL,
verbose_name='货品')
parent_goods = models.ForeignKey('goods_info.GoodsModel', blank=True, related_name='material_list', null=True,
on_delete=models.SET_NULL, verbose_name='当前的物料清单属于哪个货品')
class Meta:
db_table = 't_bom_material'
verbose_name = '生产物料表'
verbose_name_plural = verbose_name
ordering = ['id']
# BOM表中 的生产工序模型类
class BomProcessModel(BaseModel):
process_order = models.IntegerField('执行顺序')
name = models.CharField('工序名称', max_length=50)
leader_name = models.CharField('负责人的名字', max_length=20)
leader_user = models.ForeignKey('erp_system.UserModel', related_name='leader1_in_list', null=True, blank=True,
on_delete=models.SET_NULL, verbose_name='负责人员')
money = models.DecimalField('工价,最多精确到小数点后两位', max_digits=10, decimal_places=2, default=0)
remark = models.CharField('备注', max_length=512, blank=True, null=True)
parent_goods = models.ForeignKey('goods_info.GoodsModel', blank=True, related_name='process_list', null=True,
on_delete=models.SET_NULL, verbose_name='当前的生产工序属于哪个货品')
class Meta:
db_table = 't_bom_process'
verbose_name = '生产工序表'
verbose_name_plural = verbose_name
ordering = ['process_order']
# 生产任务模型类
class ProductTaskModel(BaseModel):
invoices_date = models.DateTimeField('单据日期', blank=True, null=True, default=timezone.now)
number_code = models.CharField('编号或者条码', max_length=28, unique=True)
# 冗余字段
name = models.CharField(max_length=20, verbose_name='货品名称')
specification = models.CharField('货品规格', max_length=50, null=True, blank=True)
model_number = models.CharField('型号', max_length=50, null=True, blank=True)
goods_number_code = models.CharField('生产的货品编号或者批号', max_length=28)
units_name = models.CharField('货品的单位', max_length=28, null=True, blank=True)
sale_number = models.DecimalField('订单数量', default=1, max_digits=10, decimal_places=2)
p_number = models.DecimalField('生产数量', default=1, max_digits=10, decimal_places=2)
finish_date = models.DateField('实际完工日期', null=True, blank=True)
plan_finish_date = models.DateField('计划完工日期')
goods = models.ForeignKey('goods_info.GoodsModel', null=True, blank=True, on_delete=models.SET_NULL,
verbose_name='货品')
sale_number_code = models.CharField('销售单的编号或者批号', max_length=28, null=True, blank=True)
sale = models.ForeignKey('sale_info.SaleModel', null=True, blank=True, on_delete=models.SET_NULL,
verbose_name='销售单')
status = models.CharField('状态,0:未审核,1:加工中,2:完工', max_length=1,
default='0')
check_number = models.DecimalField('验收合格数量', default=0, max_digits=10, decimal_places=2)
storage_number = models.DecimalField('已入库数量', default=0, max_digits=10, decimal_places=2)
cost_money = models.DecimalField('合计成本', max_digits=10, decimal_places=2, default=0)
remark = models.CharField('备注', max_length=512, blank=True, null=True)
check_user = models.ForeignKey('erp_system.UserModel', related_name='checker6_list', null=True, blank=True,
on_delete=models.SET_NULL,
verbose_name='审核人员,不能修改')
# 增加一个冗余字段
check_user_name = models.CharField('操作人员的真实姓名', max_length=20, null=True, blank=True)
class Meta:
db_table = 't_product_task'
verbose_name = '生产任务表'
verbose_name_plural = verbose_name
# 生产物料模型
class ProductMaterialModel(BaseModel):
# 冗余字段
goods_code = models.CharField('货品编号,不让用户填写', max_length=28)
name = models.CharField(max_length=20, verbose_name='货品名称')
specification = models.CharField('货品规格', max_length=50, null=True, blank=True)
model_number = models.CharField('型号', max_length=50, null=True, blank=True)
units_name = models.CharField('单位名字', max_length=50, null=True, blank=True)
units = models.ForeignKey('goods_info.UnitsModel', on_delete=models.SET_NULL, null=True, blank=True)
remark = models.CharField('备注', max_length=512, blank=True, null=True)
purchase_price = models.DecimalField('采购价', max_digits=10, decimal_places=2, blank=True, default=0)
count = models.DecimalField('总共需要的数量', max_digits=10, decimal_places=2, default=0)
money = models.DecimalField('费用,最多精确到小数点后两位', max_digits=10, decimal_places=2, default=0)
goods = models.ForeignKey('goods_info.GoodsModel', null=True, on_delete=models.SET_NULL,
verbose_name='货品')
get_count = models.DecimalField('已经领取的数量', max_digits=10, decimal_places=2, default=0)
back_count = models.DecimalField('退回的数量', max_digits=10, decimal_places=2, default=0)
use_count = models.DecimalField('已使用的数量', max_digits=10, decimal_places=2, default=0)
scrap_count = models.DecimalField('报废的数量', max_digits=10, decimal_places=2, default=0)
product_task = models.ForeignKey('ProductTaskModel', null=True, on_delete=models.SET_NULL,
verbose_name='生产任务', related_name='material_list')
class Meta:
db_table = 't_product_material'
verbose_name = '生产物料表'
verbose_name_plural = verbose_name
# 生产任务中 的生产工序模型类
class ProductProcessModel(BaseModel):
process_order = models.IntegerField('执行顺序')
name = models.CharField('工序名称', max_length=128)
leader_name = models.CharField('负责人的名字', max_length=20)
leader_user = models.ForeignKey('erp_system.UserModel', related_name='leader2_in_list', null=True, blank=True,
on_delete=models.SET_NULL, verbose_name='负责人员')
price = models.DecimalField('工价,最多精确到小数点后两位', max_digits=10, decimal_places=2, default=0)
money = models.DecimalField('费用,最多精确到小数点后两位', max_digits=10, decimal_places=2, default=0)
plan_finish_date = models.DateField('计划完工日期', null=True, blank=True)
remark = models.CharField('备注', max_length=512, blank=True, null=True)
product_task = models.ForeignKey('ProductTaskModel', null=True, on_delete=models.SET_NULL,
verbose_name='生产任务', related_name='process_list')
class Meta:
db_table = 't_product_process'
verbose_name = '生产工序表'
verbose_name_plural = verbose_name

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.
Loading…
Cancel
Save