Example #1
0
def shoulder_type_stic(dtype: int, res: ResponseBase):
  data = {'shoulder_type_list': [], 'total': 0}
  r_key = f'shoulder_type_list_{dtype}'
  session = mysql_session.session()
  try:
    if redis_session.exists(r_key):
      data = redis_session.get_redis_str(r_key)
      pass
    else:
      shoulder_type_list = []
      condition = []
      condition.append(ShoulderCraft.gmt_update >= get_startdate(dtype))
      db_data = session.query(ShoulderCraft.shoulder_type,func.count('*')).filter(and_(*condition)).group_by(ShoulderCraft.shoulder_type).order_by(ShoulderCraft.shoulder_type).all()
      for child in db_data:
        data['total'] += child[1]
      shoulder_type_list = mysql_init_data(db_data,shoulder_model,CommonListItem)
      data['shoulder_type_list'] = shoulder_type_list
      if len(shoulder_type_list) > 0:
        redis_session.set_redis_str(data,r_key, 1)
      pass
  except Exception as e:
    res.error(Error.SERVER_EXCEPTION)
    logger.error(e)
    pass
  session.close()
  res.data = data
  return res
Example #2
0
def temp_std(dtype: int, res: ResponseBase):
  data = {'temp_std_list': [],'total':0}
  r_key = f'temp_std_list_{dtype}'
  session = mysql_session.session()
  try:
    if redis_session.exists(r_key):
      data = redis_session.get_redis_str(r_key)
      pass
    else:
      temp_std_list = []
      condition = []
      condition.append(TempCraft.gmt_update >= get_startdate(dtype))
      db_data = session.query(TempCraft.weld_std,func.count('*')).filter(and_(*condition)).group_by(TempCraft.weld_std).order_by(TempCraft.weld_std).all()
      for child in db_data:
        data['total'] += child[1]
      std_dict = {'0':'控制不达标','1':'控制达标'}
      temp_std_list = mysql_init_data(db_data,std_dict,CommonListItem)
      data['temp_std_list'] = temp_std_list
      if len(temp_std_list) > 0:
        redis_session.set_redis_str(data,r_key, gr_sec(0))
      pass
  except Exception as e:
    res.error(Error.SERVER_EXCEPTION)
    logger.error(e)
    pass
  session.close()
  res.data = data
  return res
Example #3
0
def temp_type_stic(dtype: int, res: ResponseBase):
  data = {'temp_type_list': [],'total':0}
  r_key = f'temp_type_list_{dtype}'
  session = mysql_session.session()
  try:
    if redis_session.exists(r_key):
      data = redis_session.get_redis_str(r_key)
      pass
    else:
      temp_type_list = []
      condition = []
      condition.append(TempCraft.gmt_update >= get_startdate(dtype))
      db_data = session.query(TempCraft.weld_type,func.count('*')).filter(and_(*condition)).group_by(TempCraft.weld_type).order_by(TempCraft.weld_type).all()
      for child in db_data:
        data['total'] += child[1]
      # tm_keys_list = list(temp_model.keys())
      # temp_keys_list = []
      # for item in db_data:
      #   temp_keys_list.append(f'{item[0]}')
      #   temp_type_list.append(CommonListItem(temp_model[f'{item[0]}'],item[1]).__dict__)
      # d_set = sort(list(set(tm_keys_list).difference(set(temp_keys_list))))
      # for i in d_set:
      #   temp_type_list.insert(tm_keys_list.index(i),CommonListItem(temp_model[f'{i}'],0).__dict__)
      temp_type_list = mysql_init_data(db_data,temp_model,CommonListItem)
      data['temp_type_list'] = temp_type_list
      if len(temp_type_list) > 0:
        redis_session.set_redis_str(data,r_key, gr_sec(0))
      pass
  except Exception as e:
    res.error(Error.SERVER_EXCEPTION)
    logger.error(e)
    pass
  session.close()
  res.data = data
  return res
Example #4
0
def seed_type_stic(dtype: int, res: ResponseBase):
  data = {'seed_type_list': [], 'total':0}
  r_key = f'seed_type_list_{dtype}'
  session = mysql_session.session()
  try:
    if redis_session.exists(r_key):
      data = redis_session.get_redis_str(r_key)
      pass
    else:
      seed_type_list = []
      condition = []
      condition.append(SeedCraft.gmt_update >= get_startdate(dtype))
      condition.append(SeedCraft.seed_type <= 4)
      db_data = session.query(SeedCraft.seed_type,func.count('*')).filter(and_(*condition)).group_by(SeedCraft.seed_type).order_by(SeedCraft.seed_type).all()
      for child in db_data:
        data['total'] += child[1]
      # db_data = session.query(SeedCraft.seed_type,func.count(case(whens=((SeedCraft.seed_type.in_([1,2,3,4]),1),),else_=0))).filter(and_(*condition)).group_by(SeedCraft.seed_type).all()
      # sm_keys_list = list(seed_model.keys())
      # temp_keys_list = []
      # for item in db_data:
      #   temp_keys_list.append(f'{item[0]}')
      #   seed_type_list.append(CommonListItem(seed_model[f'{item[0]}'],item[1]).__dict__)
      
      # # 初始化未添加的内容
      # d_map = map(int,list(set(sm_keys_list).difference(set(temp_keys_list))))
      # d_set = sorted(list(d_map))
      # for i in d_set:
      #   seed_type_list.insert(sm_keys_list.index(f'{i}'),CommonListItem(seed_model[f'{i}'],0).__dict__)
      seed_type_list = mysql_init_data(db_data,seed_model,CommonListItem)
      data['seed_type_list'] = seed_type_list
      if len(seed_type_list) > 0:
        redis_session.set_redis_str(data,r_key, 60)
      pass
  except Exception as e:
    res.error(Error.SERVER_EXCEPTION)
    logger.error(e)
    pass
  session.close()
  res.data = data
  return res
Example #5
0
def online_fur(res: ResponseBase):
    session = mysql_session.session()
    data = {'online_list': []}
    r_key = 'online_list'
    try:
        if redis_session.exists(r_key):
            data = redis_session.get_redis_str(r_key)
            pass
        else:
            db_data = session.query(
                FurnaceList.furnace_state,
                func.count('*').label("count")).filter(
                    FurnaceList.furnace_state < 99).group_by(
                        FurnaceList.furnace_state).order_by(
                            FurnaceList.furnace_state).all()
            # dm_keys_list = list(dict_model.keys())
            # temp_keys_list = []
            # for item in db_data:
            #     temp_keys_list.append(f'{item[0]}')
            #     data.online_list.append(CommonListItem(dict_model[f'{item[0]}'], item[1]).__dict__)
            # d_map = map(int,list(set(dm_keys_list).difference(set(temp_keys_list))))
            # d_set = sorted(list(d_map))
            # for i in d_set:
            #     data.online_list.insert(dm_keys_list.index(f'{i}'),CommonListItem(dict_model[f'{i}'],0).__dict__)
            online_list = mysql_init_data(db_data, dict_model, CommonListItem)
            data['online_list'] = online_list
            if len(online_list) > 0:
                redis_session.set_redis_str(data, r_key, 60)
            pass
    except Exception as e:
        res.error(Error.SERVER_EXCEPTION)
        logger.error(e)
        pass
    session.close()
    res.data = data
    return res.__dict__