def bom_detail(req): if req.method == "GET": record_id = req.GET.get("id", None) bomName = req.GET.get("bomName", None) bomVersion = req.GET.get("bomVersion", None) bom = None if record_id: bom = models.Bom.objects.filter(id=record_id) if bom.exists(): return render( req, "bom/bom_detail.html", { "bom": bom[0], "bom_list": json.dumps(bom[0].bomContext), "cur_user": views_auth.getCurUser(req) }) elif bomName and bomVersion: # print(bomName, bomVersion) bom = models.Bom.objects.filter(bomName=bomName, bomVersion=bomVersion) if bom.exists(): return render( req, "bom/bom_detail.html", { "bom": bom[0], "bom_list": json.dumps(bom[0].bomContext), "cur_user": views_auth.getCurUser(req) }) return HttpResponse(views.ErrorInfo.no_exists_bom)
def paper_update(req): if req.method == "GET": record_id=req.GET.get('id', None) item = models.Paper.objects.filter(id=record_id) if item.exists(): item = item[0] return render(req,"paper/paper_update.html", {"paper_item":item , "cur_user": views_auth.getCurUser(req)})
def product(req): product_table = models.Product.objects.all().order_by("productName") return render( req, "product/product_list.html", { "product_list": product_table, "table": models.Product._meta.verbose_name, "cur_user": views_auth.getCurUser(req) })
def bom(req): bom_table = models.Bom.objects.all().order_by("bomName") return render( req, "bom/bom_list.html", { "bom_list": bom_table, "table": models.Bom._meta.verbose_name, "cur_user": views_auth.getCurUser(req) })
def product_add(req): bom_item = [] if req.method == "GET": boms = models.Bom.objects.all() for i in boms: bom_item.append(str(i)) return render(req, "product/product_add.html", { "bom_item": bom_item, "cur_user": views_auth.getCurUser(req) })
def history(req): result = [] if req.method == "GET": tableName = req.GET.get("table") recordId = req.GET.get("id") if tableName and recordId: result = models.DataHistory.objects.filter(tableName=tableName, recordId=recordId) return render(req,"history.html", {"history":result, "cur_user": views_auth.getCurUser(req)})
def paper_add(req): # item_name={} # item_verbose_name=[] # message = "" # # for item in models.Paper._meta.get_fields(): # if not item.auto_created: # item_name[item.verbose_name] = item.name # item_verbose_name.append(item.verbose_name) # # if req.method == "GET": # return render(req,"paper/paper_add.html", {"item_name":item_name, "cur_user": views_auth.getCurUser(req), 'msg': message}) return render(req,"paper/paper_add.html", {"cur_user": views_auth.getCurUser(req)})
def bom_update(req): if req.method == "GET": record_id = req.GET.get("id", None) if not record_id: return HttpResponse("无法找到Bom信息") bom = models.Bom.objects.filter(id=record_id) if bom.exists(): return render( req, "bom/bom_update.html", { "bom": bom[0], "bom_Context": json.dumps(bom[0].bomContext), "cur_user": views_auth.getCurUser(req) }) return HttpResponse("无法找到Bom信息")
def product_update(req): bom_item = [] item = None if req.method == "GET": record_id = req.GET.get('id', None) item = models.Product.objects.filter(id=record_id) if item.exists(): item = item[0] boms = models.Bom.objects.all() for i in boms: bom_item.append(str(i)) return render( req, "product/product_update.html", { "product": item, "bom_item": bom_item, "cur_user": views_auth.getCurUser(req) })
def bom_clone(req): if req.method == "GET": bomName = req.GET.get("bomName", None) bomVersion = req.GET.get("bomVersion", None) if not bomName or not bomVersion: return HttpResponse("无法找到Bom信息") bom = models.Bom.objects.filter(bomName=bomName, bomVersion=bomVersion) if bom.exists(): return render( req, "bom/bom_add.html", { "bomName": bomName, "bomVersion": bomVersion, "bom_list": json.dumps(bom[0].bomContext), "bom_action": "clone", "cur_user": views_auth.getCurUser(req) }) return HttpResponse("无法找到Bom信息")
def paper(req): paper_list = [] if req.method == "GET": paperName = req.GET.get("paperName","") paperVersion = req.GET.get("paperVersion", "") if paperName == "" or paperVersion == "": paper_table = models.Paper.objects.all().order_by("paperName") for item in paper_table: paper_list.append({'paperName':item.paperName, "paperVersion":item.paperVersion, "paperDiscrib":item.paperDiscrib, "paperAddr":item.paperAddr, "id":item.id}) else: item = models.Paper.objects.filter(paperName=paperName, paperVersion=paperVersion) if item.exists(): paper_list.append({'paperName':item[0].paperName, "paperVersion":item[0].paperVersion, "paperDiscrib":item[0].paperDiscrib, "paperAddr":item[0].paperAddr, "id":item[0].id}) return render(req,"paper/paper_list.html", {"paper_list":paper_list, "table":models.Paper._meta.verbose_name,"cur_user": views_auth.getCurUser(req)})
def paper_search(req): if req.method == "GET": record_id = req.GET.get("id",None) if not record_id: return HttpResponse("图纸输入有误") else: HttpResponse("图纸输入有误") bom_table = models.Bom.objects.all() if not bom_table.exists(): HttpResponse("无法查到BOM信息") bom_name=[] for item in bom_table: bom_name.append((item.bomName,item.bomVersion)) paper_s = models.Paper.objects.filter(id=record_id)[0] bomTable = getBomInBom(bom_name) bom_dict = paperSearchBom(bomTable, paper_s.paperName, paper_s.paperVersion) paper_item = [] papers = models.Paper.objects.all() for i in papers: paper_item.append(str(i)) return render(req,"paper/paper_search.html", {"bom_dict":bom_dict,"paper_item":paper_item,"paperName":paper_s.paperName, "paperVersion":paper_s.paperVersion, "cur_user": views_auth.getCurUser(req)})
def paper_edit(req): response_dict = {'status': True, 'error': None, 'data': None} is_login = req.session.get('is_login') if not is_login: response_dict['status'] = False response_dict['error'] = "errLogin" response_dict['data'] = "?next="+req.path return HttpResponse(json.dumps(response_dict)) if req.method == "POST": action = req.POST.get('action') if action.lower() == "delete": record_id=req.POST.get('id', None) if record_id: data_item = models.Paper.objects.filter(id=record_id)[0] models.DataBaseLog.objects.create( log_user = views_auth.getCurUser(req), log_table = models.Paper._meta.verbose_name, log_action = "delete %s" %(str(data_item)) ) # 变更为删除状态 models.DataHistory.objects.create( user = views_auth.getCurUser(req), recordId = data_item.id, tableName = models.Paper._meta.verbose_name, history = "删除 [%s]" %(str(data_item)), historyAction = data_item.status ) models.Paper.objects.filter(id=record_id).delete() else: response_dict['status'] = False response_dict['error'] = "errData" response_dict['data'] = views.ErrorInfo.data_error elif action.lower() == "add": value = json.loads(req.POST.get("value")) if value: try: data_item = models.Paper.objects.create( status=models.DataStatus.objects.filter(statusName="新规")[0], owner = views_auth.getCurUser(req), **value) except Exception: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.exists_error else: models.DataBaseLog.objects.create( log_user = views_auth.getCurUser(req), log_table = models.Paper._meta.verbose_name, log_action = "add %s" %(value) ) # 变更为新规状态 models.DataHistory.objects.create( user = views_auth.getCurUser(req), recordId = data_item.id, tableName = models.Paper._meta.verbose_name, history = "新规 [%s]" %(str(data_item)), historyAction = data_item.status ) else: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.data_error elif action.lower() == "update": value = json.loads(req.POST.get("value")) record_id = req.POST.get("id") if not value: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.data_error elif value[0] == value[1]: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.nochange_error else: try: models.Paper.objects.filter(id=record_id).update( status=models.DataStatus.objects.filter(statusName="变更")[0], owner = views_auth.getCurUser(req), **value[1]) except Exception: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.update_error else: models.DataBaseLog.objects.create( log_user = views_auth.getCurUser(req), log_table = models.Paper._meta.verbose_name, log_action = "update %s to %s" %(value[0], value[1]) ) # 变更为变更状态 data_item = models.Paper.objects.filter(id=record_id)[0] modify_list = [] for k in value[0].keys(): if (value[0][k] != value[1][k]): modify_list.append("%s->%s" %(value[0][k], value[1][k])) models.DataHistory.objects.create( user = views_auth.getCurUser(req), recordId = data_item.id, tableName = models.Paper._meta.verbose_name, history = "变更 %s" %(modify_list), historyAction = data_item.status ) syndata.synchPaper(value[0], value[1], req) elif action.lower() == "modify": item_value = json.loads(req.POST.get("data")) paperName = None paperVersion = None papers = models.Paper.objects.all().filter() for item in papers: if str(item) == item_value[0]["paper_new"]: paperName = item.paperName paperVersion = item.paperVersion break syndata.synchPaperModify(paperName, paperVersion, *item_value) return HttpResponse(json.dumps(response_dict))
def index(req): return render(req,"index.html", {"cur_user": views_auth.getCurUser(req)})
def product_edit(req): response_dict = {'status': True, 'error': None, 'data': None} is_login = req.session.get('is_login') if not is_login: response_dict['status'] = False response_dict['error'] = "errLogin" response_dict['data'] = "?next=" + req.path return HttpResponse(json.dumps(response_dict)) if req.method == "POST": action = req.POST.get('action') if action.lower() == "delete": record_id = req.POST.get('id', None) if record_id: data_item = models.Product.objects.filter(id=record_id)[0] models.DataBaseLog.objects.create( log_user=views_auth.getCurUser(req), log_table=models.Product._meta.verbose_name, log_action="delete %s" % (str(data_item))) # 变更为删除状态 models.DataHistory.objects.create( user=views_auth.getCurUser(req), recordId=data_item.id, tableName=models.Product._meta.verbose_name, history="删除 [%s]" % (str(data_item)), historyAction=data_item.status) models.Product.objects.filter(id=record_id).delete() else: response_dict['status'] = False response_dict['error'] = "errData" response_dict['data'] = views.ErrorInfo.data_error elif action.lower() == "add": value = json.loads(req.POST.get("value")) if value: try: data_item = models.Product.objects.create( productName=value["productName"], bom=list( filter(lambda x: str(x) == value["bomName"], models.Bom.objects.all()))[0], status=models.DataStatus.objects.filter( statusName="新规")[0], owner=views_auth.getCurUser(req)) except Exception as e: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.exists_error else: models.DataBaseLog.objects.create( log_user=views_auth.getCurUser(req), log_table=models.Product._meta.verbose_name, log_action="add %s" % (value["productName"])) # 变更为新规状态 models.DataHistory.objects.create( user=views_auth.getCurUser(req), recordId=data_item.id, tableName=models.Product._meta.verbose_name, history="新规 [%s]" % (str(data_item)), historyAction=data_item.status) else: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.data_error elif action.lower() == "update": value = json.loads(req.POST.get("value")) record_id = req.POST.get("id") if not value: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.data_error elif value[0] == value[1]: response_dict['status'] = False response_dict['data'] = views.ErrorInfo.nochange_error else: try: models.Product.objects.filter(id=record_id).update( productName=value[1]["productName"], bom=list( filter(lambda x: str(x) == value[1]["bomName"], models.Bom.objects.all()))[0], status=models.DataStatus.objects.filter( statusName="变更")[0], owner=views_auth.getCurUser(req)) except Exception as e: print(e) response_dict['status'] = False response_dict['data'] = views.ErrorInfo.update_error else: models.DataBaseLog.objects.create( log_user=views_auth.getCurUser(req), log_table=models.Product._meta.verbose_name, log_action="update %s->%s" % (value[0], value[1])) # 变更为变更状态 data_item = models.Product.objects.filter(id=record_id)[0] modify_list = [] for k in value[0].keys(): if (value[0][k] != value[1][k]): modify_list.append("%s->%s" % (value[0][k], value[1][k])) models.DataHistory.objects.create( user=views_auth.getCurUser(req), recordId=data_item.id, tableName=models.Product._meta.verbose_name, history="变更 %s" % (modify_list), historyAction=data_item.status) return HttpResponse(json.dumps(response_dict))
def bom_add(req): return render(req, "bom/bom_add.html", {"cur_user": views_auth.getCurUser(req)})