def addUpdateEletronicBatchDataStore(PUID, BatchID, ke, val): try: oc = db_session.query(EletronicBatchDataStore).filter( EletronicBatchDataStore.PUID == PUID, EletronicBatchDataStore.BatchID == BatchID, EletronicBatchDataStore.Content == ke).first() if oc == None: db_session.add( EletronicBatchDataStore(BatchID=BatchID, PUID=PUID, Content=ke, OperationpValue=val, Operator=current_user.Name)) else: oc.Content = ke oc.OperationpValue = val oc.Operator = current_user.Name db_session.commit() except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "保存更新EletronicBatchDataStore报错:" + str(e), current_user.Name) return json.dumps("保存更新EletronicBatchDataStore报错", cls=AlchemyEncoder, ensure_ascii=False)
def menuToUser(): if request.method == 'GET': data = request.values # 返回请求中的参数和form try: # 获取菜单和用户并存入数据库 role_id = data['role_id'] # 获取角色ID if role_id is None: return menus = db_session.query(Menu).join(Role_Menu, isouter=True).filter_by(Role_ID=id).all() if menus: db_session.delete(menus) db_session.commit() menu_id = data['menu_id'] # 获取菜单ID if menu_id is None: return menu_id = re.findall(r'\d+\.?\d*', menu_id) for r in menu_id: role = db_session.query(Role).filter_by(ID=role_id).first() menu = db_session.query(Menu).filter_by(ID=r).first() # 将菜单ID和角色ID存入User_Role menu.roles.append(role) db_session.add(menu) db_session.commit() # 存入数据库后跳转到权限分配页面 return redirect(url_for("roleright")) except Exception as e: print(e) logger.error(e) insertSyslog("error", "权限分配下为角色添加权限Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def allrolesSearch(): if request.method == 'POST': data = request.values try: json_str = json.dumps(data.to_dict()) if len(json_str) > 2: strconditon = "%" + data['condition'] + "%" roles = db_session.query(Role).filter( Role.RoleName.like(strconditon)).all() total = Counter(roles) jsonroles = json.dumps(roles, cls=AlchemyEncoder, ensure_ascii=False) jsonroles = '{"total"' + ":" + str( total.__len__()) + ',"rows"' + ":\n" + jsonroles + "}" return jsonroles except Exception as e: print(e) logger.error(e) insertSyslog("error", "擦护心角色列表报错Error:" + str(e), current_user.Name) return json.dumps([{ "status": "Error:" + string(e) }], cls=AlchemyEncoder, ensure_ascii=False)
def refractometerRedis(): ''' Redis实时数据 :return: ''' if request.method == 'GET': data = request.values try: jsonstr = json.dumps(data.to_dict()) data_dict = {} redis_conn = redis.Redis(connection_pool=pool) bls = constant.REDIS_retxt for key in bls: key = key.upper() if "IME" in key: key = key[0:-3] + "ime" data_dict[key] = redis_conn.hget( constant.REDIS_TABLENAME, "t|" + str(key)).decode('utf-8') return json.dumps(data_dict, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) logger.error(e) insertSyslog("error", "折光仪实时数据查询报错Error:" + str(e), current_user.Name)
def allrolesFind(): if request.method == 'GET': data = request.values try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: pages = int(data.get("offset")) # 页数 rowsnumber = int(data.get("limit")) # 行数 inipage = pages * rowsnumber + 0 # 起始页 endpage = pages * rowsnumber + rowsnumber # 截止页 total = db_session.query(func.count(Role.ID)).scalar() roles = db_session.query(Role).all()[inipage:endpage] # ORM模型转换json格式 jsonroles = json.dumps(roles, cls=AlchemyEncoder, ensure_ascii=False) jsonroles = '{"total"' + ":" + str( total) + ',"rows"' + ":\n" + jsonroles + "}" return jsonroles except Exception as e: print(e) logger.error(e) insertSyslog("error", "查询角色列表报错Error:" + str(e), current_user.Name) return json.dumps([{ "status": "Error:" + string(e) }], cls=AlchemyEncoder, ensure_ascii=False)
def saverolepermission(): ''' 角色添加权限 :return: ''' if request.method == 'POST': data = request.values try: roleID = data.get("roleID") permissionIDs = data.get("permissionIDs") if permissionIDs: permissionIDs = eval(permissionIDs) roleclass = db_session.query(Role).filter(Role.ID == int(roleID)).first() sql = "delete from RolePermission where RoleID = " + roleID db_session.execute(sql) db_session.commit() for pid in permissionIDs: permissioncalss = db_session.query(Permission).filter(Permission.ID == int(pid)).first() rpclas = db_session.query(RolePermission).filter(RolePermission.RoleID == roleclass.ID, RolePermission.PermissionID == permissioncalss.ID).first() if not rpclas: rp = RolePermission() rp.RoleID = roleclass.ID rp.RoleName = roleclass.RoleName rp.PermissionID = permissioncalss.ID rp.PermissionName = permissioncalss.PermissionName db_session.add(rp) db_session.commit() return json.dumps("OK", cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "角色添加权限Error:" + str(e), current_user.Name)
def userselect(data): #table, page, rows, fieid, param ''' :param tablename: 查询表 :param pages: 页数 :param rowsnumber: 一页多少行 :param fieid: 查询字段 :param param: 查询条件 :return:用户查询 ''' try: pages = int(data.get("offset")) rowsnumber = int(data.get("limit")) param = data.get("field") tableName = data.get("tableName") paramvalue = data.get("fieldvalue") if (paramvalue == "" or paramvalue == None): oclass = db_session.query(User).filter( User.WorkNumber == paramvalue).all() total = db_session.query(User).filter( User.WorkNumber == paramvalue).count() jsonoclass = '{"total"' + ":" + str( total) + ',"rows"' + ":\n" + oclass + "}" return jsonoclass except Exception as e: print(e) logger.error(e) insertSyslog("error", "用户查询报错Error:" + str(e), current_user.Name)
def addUser(): if request.method == 'POST': data = request.values str = request.get_json() try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: user = User() user.WorkNumber=data['WorkNumber'] ocal = db_session.query(User).filter(User.WorkNumber == user.WorkNumber).first() if ocal != None: return "工号重复,请重新录入!" user.Name=data['Name'] user.Password=user.password(data['Password']) # print(user.Password) user.Status="1" # 登录状态先设置一个默认值1:已登录,0:未登录 user.Creater=current_user.Name user.CreateTime=datetime.datetime.now() user.LastLoginTime=datetime.datetime.now() user.IsLock='false' # data['IsLock'], user.OrganizationName=data['OrganizationName'] user.RoleName=data['RoleName'] db_session.add(user) db_session.commit() return 'OK' except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "添加用户报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def MyUserSelect(): if request.method == 'GET': data = request.values try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: pages = int(data.get("offset")) # 页数 rowsnumber = int(data.get("limit")) # 行数 inipage = pages * rowsnumber + 0 # 起始页 endpage = pages * rowsnumber + rowsnumber # 截止页 id = data.get('id') Name = data.get('Name') if id != '': OrganizationCodeData = db_session.query(Organization).filter_by(ID=id).first() if OrganizationCodeData != None: OrganizationName = str(OrganizationCodeData.OrganizationName) total = db_session.query(User).filter(and_(User.OrganizationName.like("%" + OrganizationName + "%") if OrganizationName is not None else "", User.Name.like("%" + Name + "%") if Name is not None else "")).count() oclass = db_session.query(User).filter(and_(User.OrganizationName.like("%" + OrganizationName + "%") if OrganizationName is not None else "", User.Name.like("%" + Name + "%") if Name is not None else "")).order_by(desc("CreateTime")).all()[inipage:endpage] else: total = db_session.query(User).filter(User.Name.like("%" + Name + "%") if Name is not None else "").count() oclass = db_session.query(User).filter(User.Name.like("%" + Name + "%") if Name is not None else "").order_by(desc("CreateTime")).all()[inipage:endpage] else: total = db_session.query(User).filter(User.Name.like("%" + Name + "%") if Name is not None else "").count() oclass = db_session.query(User).filter(User.Name.like("%" + Name + "%") if Name is not None else "").order_by(desc("CreateTime")).all()[inipage:endpage] jsonoclass = json.dumps(oclass, cls=AlchemyEncoder, ensure_ascii=False) jsonoclass = '{"total"' + ":" + str(total) + ',"rows"' + ":\n" + jsonoclass + "}" return jsonoclass except Exception as e: print(e) logger.error(e) insertSyslog("error", "查询用户列表报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def UpdateUser(): if request.method == 'POST': data = request.values str = request.get_json() try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: id = int(data['ID']) user = db_session.query(User).filter_by(id=id).first() user.Name = data['Name'] user.WorkNumber = data['WorkNumber'] ocal = db_session.query(User).filter(User.WorkNumber == user.WorkNumber).first() if ocal != None: if ocal.id != id: return "工号重复,请重新修改!" user.Password = user.password(data['Password']) user.OrganizationName = data['OrganizationName'] user.RoleName = data['RoleName'] db_session.commit() return 'OK' except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "更新用户报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def organizationTU(): if request.method == 'GET': data = request.values try: dic = [] facs = db_session.query(Factory).all() for fa in facs: deps = db_session.query(DepartmentManager).filter( DepartmentManager.DepartLoad == fa.FactoryName).all() for dep in deps: die = [] die.append(fa.FactoryName) die.append(dep.DepartName) dic.append(die) ros = db_session.query(Role).filter( Role.ParentNode == dep.DepartName).all() for ro in ros: dif = [] dif.append(dep.DepartName) dif.append(ro.RoleName) dic.append(dif) return json.dumps(dic, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) logger.error(e) insertSyslog("error", "组织架构图报错Error:" + str(e), current_user.Name) return json.dumps([{ "status": "Error:" + str(e) }], cls=AlchemyEncoder, ensure_ascii=False)
def menulist(): if request.method == 'GET': role_data = request.values if 'id' not in role_data.keys(): try: data = getMenuList(role_menus=[],id=0) jsondata = json.dumps(data, cls=AlchemyEncoder, ensure_ascii=False) return jsondata.encode("utf8") except Exception as e: print(e) logger.error(e) insertSyslog("error", "加载菜单列表Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False) id = role_data['id'] try: role_menus = db_session.query(Menu.ModuleName).join(Role_Menu, isouter=True).filter_by(Role_ID=id).all() r_menus = [] for menu in role_menus: r_menus.append(menu[0]) menus_data = getMenuList(r_menus, id=0) jsondata = json.dumps(menus_data, cls=AlchemyEncoder, ensure_ascii=False) return jsondata.encode("utf8") except Exception as e: print(e) logger.error(e) insertSyslog("error", "加载菜单列表Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def BatchInfoDetailSearch(): if request.method == 'GET': data = request.values try: jsonstr = json.dumps(data.to_dict()) if len(jsonstr) > 10: pages = int(data.get("offset")) rowsnumber = int(data.get("limit")) inipage = pages * rowsnumber + 0 endpage = pages * rowsnumber + rowsnumber BatchNum = data.get('BatchNum') total = db_session.query(BatchInfoDetail).filter( BatchInfoDetail.BatchNum == BatchNum).count() oclass = db_session.query(BatchInfoDetail).filter( BatchInfoDetail.BatchNum == BatchNum).all()[inipage:endpage] jsonoclass = json.dumps(oclass, cls=AlchemyEncoder, ensure_ascii=False) return '{"total"' + ":" + str( total) + ',"rows"' + ":\n" + jsonoclass + "}" except Exception as e: print(e) logger.error(e) insertSyslog("error", "设备建模查询报错Error:" + str(e), current_user.Name)
def PermissionsSave(): if request.method == 'POST': data = request.values try: datastr = json.loads(data.get("data")) #删除之前的权限 perss = db_session.query(Permission).filter(Permission.WorkNumber == datastr[0].get("WorkNumber")).all() for pe in perss: db_session.delete(pe) db_session.commit() for i in datastr: per = Permission() per.MenuName = i.get("MenuName") per.MenuType = i.get("MenuType") per.MenuCode = i.get("MenuCode") per.Name = i.get("Name") per.WorkNumber = i.get("WorkNumber") db_session.add(per) db_session.commit() return 'OK' except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "添加用户报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def PermissionsMenus(): if request.method == 'GET': data = request.values try: MenuName = data.get("MenuName") MenuType = data.get("MenuType") if MenuName == None: MenuNames = db_session.query(Permission.MenuName).filter(Permission.WorkNumber == current_user.WorkNumber, Permission.MenuType == MenuType).all() else: ParentNode = db_session.query(ModulMenus.ID).filter(ModulMenus.ModulMenuName == MenuName).first() pmenus = db_session.query(ModulMenus.ModulMenuName).filter(ModulMenus.ParentNode == ParentNode,ModulMenus.MenuType == MenuType).all() cmenus = db_session.query(Permission.MenuName).filter(Permission.WorkNumber == current_user.WorkNumber).all() MenuNames = list(set(pmenus).intersection(set(cmenus))) dir = [] for mn in MenuNames: meu = db_session.query(ModulMenus).filter(ModulMenus.ModulMenuName == mn).first() dir.append(meu) if dir: dir = sorted(dir, key=lambda aa: aa.ID) return json.dumps(dir, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "添加用户报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def selectrolebyuser(): ''' 根据用户查询角色 :return: ''' if request.method == 'GET': data = request.values try: dir = {} UserID = data.get("UserID") pids = db_session.query(RoleUser).filter( RoleUser.UserID == int(UserID)).all() perids_list = [] for pid in pids: perids_list.append(pid.RoleID) if len(perids_list) > 0: existingRows = db_session.query(Role).filter( Role.ID.in_(perids_list)).all() dir["existingRows"] = existingRows else: dir["existingRows"] = [] notHaveRows = db_session.query(Role).filter().all() dir["notHaveRows"] = notHaveRows return json.dumps(dir, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) logger.error(e) insertSyslog("error", "根据用户查询角色Error:" + str(e), current_user.Name)
def SelectMenus(): if request.method == 'GET': data = request.values try: MenuType = data.get("MenuType") Name = current_user.Name if Name == "系统管理员": oclass = db_session.query(ModulMenus).all() return json.dumps(oclass, cls=AlchemyEncoder, ensure_ascii=False) periss = db_session.query(Permission).filter(Permission.Name == current_user.Name, Permission.MenuType == MenuType).all() flag = 'OK' dic = [] for i in periss: oclass = db_session.query(ModulMenus).filter( ModulMenus.ResourceMenuName.like("%" + i.MenuName + "%")).first() dic.append(oclass) # if MenuType == "资源级": # oclass = db_session.query(ResourceMenus).filter(ResourceMenus.ModulMenuName.like("%"+i.MenuName+"%")).first() # dic.append(oclass) # else: # oclass = db_session.query(ModulMenus).filter( # ModulMenus.ResourceMenuName.like("%" + i.MenuName + "%")).first() # dic.append(oclass) return json.dumps(dic, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) logger.error(e) insertSyslog("error", "菜单权限查询报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def BrandFlagSearch(): if request.method == 'GET': data = request.values try: jsonstr = json.dumps(data.to_dict()) if len(jsonstr) > 10: pages = int(data.get("offset")) rowsnumber = int(data.get("limit")) inipage = pages * rowsnumber + 0 endpage = pages * rowsnumber + rowsnumber BrandName = data.get('BrandName') if BrandName == None or BrandName == "": total = db_session.query(BrandFlag).order_by( ("ID")).count() oclass = db_session.query(BrandFlag).order_by( ("ID")).all()[inipage:endpage] else: total = db_session.query(BrandFlag).filter( BrandFlag.BrandName.like(BrandName)).order_by( ("ID")).count() oclass = db_session.query(BrandFlag).filter( BrandFlag.BrandName.like(BrandName)).order_by( ("ID")).all()[inipage:endpage] jsonoclass = json.dumps(oclass, cls=AlchemyEncoder, ensure_ascii=False) return '{"total"' + ":" + str( total) + ',"rows"' + ":\n" + jsonoclass + "}" except Exception as e: print(e) logger.error(e) insertSyslog("error", "品名维护表Error:" + str(e), current_user.Name)
def BatchSearch(): if request.method == 'GET': data = request.values try: json_str = json.dumps(data.to_dict()) if len(json_str) > 2: BatchNum = data.get("BatchNum") Name = data.get("Name") dic = {} oclass = db_session.query(BatchInfo).filter( BatchInfo.BatchNum == BatchNum).first() if Name == "提取": if oclass.PUIDLineName == "篮式": PUID = "1" elif oclass.PUIDLineName == "搅拌": PUID = "3" eqps = db_session.query( ElectronicBatchTwo.EQPID).distinct().filter( ElectronicBatchTwo.BatchID == BatchNum, ElectronicBatchTwo.PDUnitRouteID == PUID).order_by( ("EQPID")).all() j = 1 for i in eqps: EQPName = db_session.query(Equipment.EQPName).filter( Equipment.ID == i[0]).first() btss = db_session.query(BatchType).filter( BatchType.Descrip.like("%" + oclass.PUIDLineName + "%")).all() for bt in btss: type = bt.Type if type == "_Batch_LS_Action01" or type == "_Batch_JB_Action01": dic[type + "_" + str(j)] = EQPName[0] else: ret = queryvalue(BatchNum, int(i[0]), bt.Descrip) dic[type + "_" + str(j) + "_1"] = ret[0] dic[type + "_" + str(j) + "_2"] = ret[1] j = j + 1 dic["BatchNum"] = oclass.BatchNum dic["MedicinalType"] = oclass.MedicinalType dic["BrandName"] = oclass.BrandName return json.dumps(dic, cls=AlchemyEncoder, ensure_ascii=False) else: return "" except Exception as e: print(e) logger.error(e) insertSyslog("error", "电子批记录查询报错Error:" + str(e), current_user.Name) return json.dumps("电子批记录查询", cls=AlchemyEncoder, ensure_ascii=False)
def SelectRoles(): if request.method == 'GET': try: data = getRoleList(id=0) jsondata = json.dumps(data, cls=AlchemyEncoder, ensure_ascii=False) return jsondata.encode("utf8") except Exception as e: print(e) logger.error(e) insertSyslog("error", "查询权限分配下的角色列表报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def userList(): # 获取用户列表 if request.method == 'GET': data = request.values # 返回请求中的参数和form # 默认返回所有用户 ID = data['ID'] if ID == '': try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: pages = int(data.get("offset")) # 页数 rowsnumber = int(data.get("limit")) # 行数 inipage = pages * rowsnumber + 0 # 起始页 endpage = pages * rowsnumber + rowsnumber # 截止页 total = db_session.query(User).count() users_data = db_session.query(User)[inipage:endpage] # ORM模型转换json格式 jsonusers = json.dumps(users_data, cls=AlchemyEncoder, ensure_ascii=False) jsonusers = '{"total"' + ":" + str(total) + ',"rows"' + ":\n" + jsonusers + "}" return jsonusers.encode("utf8") except Exception as e: print(e) logger.error(e) insertSyslog("error", "查询权限分配下的用户列表报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False) if ID != '': data = request.values # 返回请求中的参数和form try: json_str = json.dumps(data.to_dict()) if len(json_str) > 10: pages = int(data['page']) # 页数 rowsnumber = int(data['rows']) # 行数 inipage = (pages - 1) * rowsnumber + 0 # 起始页 endpage = (pages - 1) * rowsnumber + rowsnumber # 截止页 # 通过角色ID获取当前角色对应的用户 role_id = data['ID'] role_name= db_session.query(Role.RoleName).filter_by(ID=role_id).first() if role_name is None: # 判断当前角色是否存在 return total = db_session.query(User).filter_by(RoleName=role_name).count() users_data = db_session.query(User).filter_by(RoleName=role_name).all()[ inipage:endpage] # ORM模型转换json格式 jsonusers = json.dumps(users_data, cls=AlchemyEncoder, ensure_ascii=False) jsonusers = '{"total"' + ":" + str(total) + ',"rows"' + ":\n" + jsonusers + "}" return jsonusers except Exception as e: print(e) logger.error(e) insertSyslog("error", "通过点击角色查询用户报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def selectAll(): if request.method == 'GET': try: return json.dumps(getMyOrganizationChildrenMap(id=0), cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) insertSyslog("error", "查询组织结构报错Error:" + str(e), current_user.Name) return json.dumps([{ "status": "Error:" + str(e) }], cls=AlchemyEncoder, ensure_ascii=False)
def allUnitDataMutual(): if request.method == 'POST': data = request.values data = data.to_dict() try: for key in data.keys(): if key == "Name": continue if key == "BatchID": continue val = data.get(key) addUpdateEletronicBatchDataStore(data.get("Name"), data.get("BatchID"), key, val) return 'OK' except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "所有工艺段保存查询操作报错Error:" + str(e), current_user.Name) return json.dumps([{ "status": "Error:" + str(e) }], cls=AlchemyEncoder, ensure_ascii=False) if request.method == 'GET': data = request.values try: json_str = json.dumps(data.to_dict()) if len(json_str) > 2: PUID = data['Name'] BatchID = data['BatchID'] oclasss = db_session.query(EletronicBatchDataStore).filter( EletronicBatchDataStore.BatchID == BatchID, EletronicBatchDataStore.PUID == PUID).all() dic = {} for oclass in oclasss: dic[oclass.Content] = oclass.OperationpValue return json.dumps(dic, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "所有工艺段保存查询操作报错Error:" + str(e), current_user.Name) return json.dumps([{ "status": "Error:" + str(e) }], cls=AlchemyEncoder, ensure_ascii=False)
def OperatorCheckSaveUpdate(): '''操作人检查人确认''' if request.method == 'GET': data = request.values try: ConfirmFlow = data.get("ConfirmFlow") BatchNum = data.get("BatchNum") Confirmer = data.get("Confirmer") key = data.get("key") oclass = db_session.query(FlowConfirm).filter( FlowConfirm.BatchNum == BatchNum, FlowConfirm.key == key).first() if oclass == None or oclass == "": db_session.add( FlowConfirm(BatchNum=BatchNum, ConfirmFlow=ConfirmFlow, Confirmer=Confirmer, ConfirmTime=datetime.datetime.now().strftime( '%Y-%m-%d %H:%M:%S'), key=key)) db_session.add( AuditTrace(Operation=ConfirmFlow, DeitalMSG="用户:" + Confirmer + " 节点:" + ConfirmFlow + "确认", ReviseDate=datetime.datetime.now().strftime( '%Y-%m-%d %H:%M:%S'), User=current_user.Name)) else: oclass.Confirmer = Confirmer oclass.UpdateTime = datetime.datetime.now().strftime( '%Y-%m-%d %H:%M:%S') db_session.add( AuditTrace(Operation=ConfirmFlow + "修改", DeitalMSG="用户:" + Confirmer + " 节点:" + ConfirmFlow + "修改", ReviseDate=datetime.datetime.now().strftime( '%Y-%m-%d %H:%M:%S'), User=current_user.Name)) db_session.commit() return 'OK' except Exception as e: db_session.rollback() print(e) logger.error(e) insertSyslog("error", "/OperatorCheckSaveUpdate报错:" + str(e), current_user.Name) return json.dumps("保存更新EletronicBatchDataStore报错", cls=AlchemyEncoder, ensure_ascii=False)
def selectTree(): '''查询树形结构''' data = request.values if request.method == 'GET': try: ParentCode = data.get("ParentCode")#父节点字段名 tableName = data.get("tableName")#表名 Name = data.get("Name")#展示的字段名 Code = data.get("Code")#展示的字段code id = 0 return json.dumps(getTreeChildrenMap(id, ParentCode, tableName, Name, Code), cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) insertSyslog("error", "查询树形结构报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def getRoleList(id=0): sz = [] try: roles = db_session.query(Role).filter().all() for obj in roles: if obj.ParentNode == id: sz.append({"id": obj.ID, "text": obj.RoleName, "children": getRoleList(obj.ID)}) srep = ',' + 'items' + ':' + '[]' return sz except Exception as e: print(e) logger.error(e) insertSyslog("error", "查询角色报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def SelectParentMenus(): if request.method == 'GET': data = request.values try: pages = int(data.get("offset")) # 页数 rowsnumber = int(data.get("limit")) # 行数 inipage = pages * rowsnumber + 0 # 起始页 endpage = pages * rowsnumber + rowsnumber # 截止页 total = db_session.query(ModulMenus).filter(ModulMenus.MenuType.in_(("系统级", "模块级"))).count() oclass = db_session.query(ModulMenus).filter(ModulMenus.MenuType.in_(("系统级", "模块级"))).all()[inipage:endpage] jsonoclass = json.dumps(oclass, cls=AlchemyEncoder, ensure_ascii=False) return '{"total"' + ":" + str(total) + ',"rows"' + ":\n" + jsonoclass + "}" except Exception as e: print(e) logger.error(e) insertSyslog("error", "增加菜单父节点查询报错Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def menulisttree(): if request.method == 'GET': data = request.values try: WorkNumber = data.get("WorkNumber") user_menus = [] usermenus = db_session.query(Permission.MenuName).filter(Permission.WorkNumber == WorkNumber).all() for menu in usermenus: user_menus.append(menu[0]) data = getMenuList(user_menus, id=0) jsondata = json.dumps(data, cls=AlchemyEncoder, ensure_ascii=False) return jsondata.encode("utf8") except Exception as e: print(e) logger.error(e) insertSyslog("error", "加载菜单列表Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def getMenuList(user_menus, id=0): sz = [] try: menus = db_session.query(ModulMenus).filter_by(ParentNode=id).all() for obj in menus: if obj.ParentNode == id: sz.append({"id": obj.ID, "text": obj.ModulMenuName, "ModulMenuName":obj.ModulMenuName, "MenuType":obj.MenuType, "ModulMenuCode":obj.ModulMenuCode, "state":trueOrFalse(obj, user_menus), "nodes": getMenuList(user_menus, obj.ID)}) return sz except Exception as e: print(e) insertSyslog("error", "查询权限分配下的功能模块列表Error:" + str(e), current_user.Name) return json.dumps([{"status": "Error:" + str(e)}], cls=AlchemyEncoder, ensure_ascii=False)
def FlowConfirmSearch(): '''操作人检查人查询''' if request.method == 'GET': data = request.values try: jsonstr = json.dumps(data.to_dict()) if len(jsonstr) > 10: BatchNum = data.get('BatchNum') oclass = db_session.query(FlowConfirm).filter( FlowConfirm.BatchNum == BatchNum).all() dic = {} for oc in oclass: dic[oc.key] = oc.Confirmer return json.dumps(dic, cls=AlchemyEncoder, ensure_ascii=False) except Exception as e: print(e) logger.error(e) insertSyslog("error", "设备建模查询报错Error:" + str(e), current_user.Name)