Пример #1
0
 def put(self, request, format=None):
     file_obj = request.data['file']
     vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip
     file_check = FileVipCheck.FileVipCheck(file_obj.size, vip_id)
     if file_check == "N":
         return Response(FBMsg.err_data())
     elif file_check == "Y":
         if os.path.exists(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink)):
             pass
         else:
             os.makedirs(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink))
         if file_obj.name.endswith('.xlsx'):
             filename = os.path.join(settings.BASE_DIR,
                                     'media/upload/' + pathlink + '/' + request.user.appid + '.xlsx')
         elif file_obj.name.endswith('.xls'):
             filename = os.path.join(settings.BASE_DIR,
                                     'media/upload/' + pathlink + '/' + request.user.appid + '.xls')
         else:
             return Response(FBMsg.err_data())
         with open(filename, 'wb+') as f:
             for chunk in file_obj.chunks():
                 f.write(chunk)
             f.close()
         df = pd.read_excel(filename)
         if ListModel.objects.filter(appid=request.user.appid).exists():
             upload_data = ListModel.objects.filter(appid=request.user.appid)
             for i in range(len(upload_data)):
                 upload_data[i].delete()
         for index, row in df.iterrows():
             if str(row[pathname]) == '':
                 pass
             else:
                 if ListModel.objects.filter(appid=request.user.appid, name=str(row[pathname]),
                                             is_delete=0).exists():
                     pass
                 else:
                     if binsize.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['库位尺寸']),
                                                                is_delete=0).exists():
                         if property.models.ListModel.objects.filter(appid=request.user.appid,
                                                                     name=str(row['库位属性']),
                                                                     is_delete=0).exists():
                             create_name = Users.objects.filter(openid=request.auth, appid=request.user.appid,
                                                                is_delete=0).first().name
                             ListModel.objects.create(appid=request.user.appid, name=str(row[pathname]),
                                                      bin_size=str(row['库位尺寸']),
                                                      bin_property=str(row['库位属性']),
                                                      create_name=create_name, t_code=Md5.md5(str(row[pathname])))
         os.remove(filename)
         ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get(
             'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR')
         ret = FBMsg.wms_ret()
         ret['ip'] = ip
         return Response(ret)
     else:
         return Response(FBMsg.err_data())
Пример #2
0
 def put(self, request, format=None):
     file_obj = request.data['file']
     vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip
     file_check = FileVipCheck.FileVipCheck(file_obj.size, vip_id)
     if file_check == "N":
         return Response(FBMsg.err_data())
     elif file_check == "Y":
         if os.path.exists(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink)):
             pass
         else:
             os.makedirs(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink))
         if file_obj.name.endswith('.xlsx'):
             filename = os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink + '/' + request.user.appid + '.xlsx')
         elif file_obj.name.endswith('.xls'):
             filename = os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink + '/' + request.user.appid + '.xls')
         else:
             return Response(FBMsg.err_data())
         with open(filename, 'wb+') as f:
             for chunk in file_obj.chunks():
                 f.write(chunk)
             f.close()
         df = pd.read_excel(filename)
         if ListModel.objects.filter(appid=request.user.appid).exists():
             upload_data = ListModel.objects.filter(appid=request.user.appid)
             for i in range(len(upload_data)):
                 upload_data[i].delete()
         for index, row in df.iterrows():
             if str(row[pathname]) == '':
                 pass
             else:
                 if ListModel.objects.filter(appid=request.user.appid, is_delete=0).count() > 0:
                     ret = FBMsg.wms_warehouse_more()
                     ret['data'] = row
                     return Response(ret)
                 else:
                     ListModel.objects.create(appid=request.user.appid, name=str(row[pathname]), province=str(row['省份']),
                                              city=str(row['城市']), district=str(row['行政区']), address=str(row['详细地址']),
                                              manager=str(row['负责人']), mobile=str(row['联系电话']),
                                              t_code=Md5.md5(str(row[pathname])))
         os.remove(filename)
         ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get(
             'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR')
         ret = FBMsg.wms_ret()
         ret['ip'] = ip
         return Response(ret)
     else:
         return Response(FBMsg.err_data())
Пример #3
0
 def post(self, request, format=None):
     file_obj = request.data['file']
     vip_id = Users.objects.get(appid=request.user.appid,
                                developer=1,
                                is_delete=0).vip
     if vip_id == 0:
         if file_obj.size >= 102400:
             return Response(FBMsg.err_data())
     elif vip_id == 4:
         if file_obj.size >= 102400:
             return Response(FBMsg.err_data())
     if file_obj.name.endswith('.xlsx'):
         filename = os.path.join(settings.BASE_DIR,
                                 'media/shipping/' + request.auth + '.xlsx')
     elif file_obj.name.endswith('.xls'):
         filename = os.path.join(settings.BASE_DIR,
                                 'media/shipping/' + request.auth + '.xls')
     else:
         return Response(FBMsg.err_data())
     with open(filename, 'wb+') as f:
         for chunk in file_obj.chunks():
             f.write(chunk)
         f.close()
     df = pd.read_excel(filename)
     if ShippingModel.objects.filter(appid=request.user.appid).exists():
         shipping_data = ShippingModel.objects.filter(
             appid=request.user.appid)
         for i in range(len(shipping_data)):
             shipping_data[i].delete()
     for index, row in df.iterrows():
         date_detail = str(row['发货日期']).split(' ')
         date_detail = [int(x) for x in str(date_detail[0]).split('-')]
         shipping_day = datetime.datetime(int(date_detail[0]),
                                          int(date_detail[1]),
                                          int(date_detail[2]))
         shipping_time = shipping_day.strftime('%Y-%m-%d')
         ShippingModel.objects.create(appid=request.user.appid,
                                      goods_code=str(row['商品编号']),
                                      shipping_qty=int(row['发货数量']),
                                      shipping_time=shipping_time)
     os.remove(filename)
     return Response(FBMsg.ret())
Пример #4
0
 def post(self, request, format=None):
     file_obj = request.data['file']
     vip_id = Users.objects.get(appid=request.user.appid,
                                developer=1,
                                is_delete=0).vip
     if vip_id == 0:
         if file_obj.size >= 102400:
             return Response(FBMsg.err_data())
     elif vip_id == 4:
         if file_obj.size >= 102400:
             return Response(FBMsg.err_data())
     if file_obj.name.endswith('.xlsx'):
         filename = os.path.join(settings.BASE_DIR,
                                 'media/baseinfo/' + request.auth + '.xlsx')
     elif file_obj.name.endswith('.xls'):
         filename = os.path.join(settings.BASE_DIR,
                                 'media/baseinfo/' + request.auth + '.xls')
     else:
         return Response(FBMsg.err_data())
     with open(filename, 'wb+') as f:
         for chunk in file_obj.chunks():
             f.write(chunk)
         f.close()
     df = pd.read_excel(filename)
     if BaseInfoModel.objects.filter(appid=request.user.appid).exists():
         baseinfo_data = BaseInfoModel.objects.filter(
             appid=request.user.appid)
         for i in range(len(baseinfo_data)):
             baseinfo_data[i].delete()
     for index, row in df.iterrows():
         BaseInfoModel.objects.create(
             appid=request.user.appid,
             goods_code=str(row['商品编号']),
             sup_product_day=int(row['供应商生产周期(天)']),
             sup_intransit=int(row['供应商送货在途时间(天)']),
             loading_inspect=int(row['到货卸货和检验时间(天)']),
             total_leadtime=int(row['供应商生产周期(天)']) +
             int(row['供应商送货在途时间(天)']) + int(row['到货卸货和检验时间(天)']))
     os.remove(filename)
     return Response(FBMsg.ret())
Пример #5
0
 def post(self, request, format=None):
     file_obj = request.data['file']
     vip_id = Users.objects.get(appid=request.user.appid,
                                developer=1,
                                is_delete=0).vip
     if vip_id == 0:
         if file_obj.size >= 102400:
             return Response(FBMsg.err_data())
     elif vip_id == 4:
         if file_obj.size >= 102400:
             return Response(FBMsg.err_data())
     if file_obj.name.endswith('.xlsx'):
         filename = os.path.join(settings.BASE_DIR,
                                 'media/goods/' + request.auth + '.xlsx')
     elif file_obj.name.endswith('.xls'):
         filename = os.path.join(settings.BASE_DIR,
                                 'media/goods/' + request.auth + '.xls')
     else:
         return Response(FBMsg.err_data())
     with open(filename, 'wb+') as f:
         for chunk in file_obj.chunks():
             f.write(chunk)
         f.close()
     df = pd.read_excel(filename)
     if GoodsModel.objects.filter(appid=request.user.appid).exists():
         goods_data = GoodsModel.objects.filter(appid=request.user.appid)
         for i in range(len(goods_data)):
             goods_data[i].delete()
     for index, row in df.iterrows():
         if int(row['现有库存']) <= 0:
             on_hand_stock = 0
         else:
             on_hand_stock = int(row['现有库存'])
         GoodsModel.objects.create(appid=request.user.appid,
                                   goods_code=str(row['商品编号']),
                                   on_hand_stock=on_hand_stock)
     os.remove(filename)
     return Response(FBMsg.ret())
Пример #6
0
 def put(self, request, format=None):
     file_obj = request.data['file']
     vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip
     file_check = FileVipCheck.FileVipCheck(file_obj.size, vip_id)
     if file_check == "N":
         return Response(FBMsg.err_data())
     elif file_check == "Y":
         if os.path.exists(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink)):
             pass
         else:
             os.makedirs(os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink))
         if file_obj.name.endswith('.xlsx'):
             filename = os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink + '/' + request.user.appid + '.xlsx')
         elif file_obj.name.endswith('.xls'):
             filename = os.path.join(settings.BASE_DIR, 'media/upload/' + pathlink + '/' + request.user.appid + '.xls')
         else:
             return Response(FBMsg.err_data())
         with open(filename, 'wb+') as f:
             for chunk in file_obj.chunks():
                 f.write(chunk)
             f.close()
         df = pd.read_excel(filename)
         if ListModel.objects.filter(appid=request.user.appid).exists():
             upload_data = ListModel.objects.filter(appid=request.user.appid)
             for i in range(len(upload_data)):
                 upload_data[i].delete()
         for index, row in df.iterrows():
             if str(row[pathname]) == '':
                 pass
             else:
                 if ListModel.objects.filter(appid=request.user.appid, name=str(row[pathname]), is_delete=0).exists():
                     pass
                 else:
                     create_name = Users.objects.filter(openid=request.auth, appid=request.user.appid,
                                                    is_delete=0).first().name
                     if goodsunit.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品单位']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodsunit.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品单位']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品单位'])))
                     if goodsclass.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品类别']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodsclass.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品类别']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品类别'])))
                     if goodsspecs.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品规格']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodsspecs.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品规格']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品规格'])))
                     if goodsshape.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品形状']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodsshape.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品形状']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品形状'])))
                     if goodscolor.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品颜色']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodscolor.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品颜色']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品颜色'])))
                     if goodsbrand.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品品牌']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodsbrand.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品品牌']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品品牌'])))
                     if goodscity.models.ListModel.objects.filter(appid=request.user.appid, name=str(row['商品产地']),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         goodscity.models.ListModel.objects.create(appid=request.user.appid, name=str(row['商品产地']),
                                                                   create_name=create_name,
                                                                   t_code=Md5.md5(str(row['商品产地'])))
                     if stocklist.models.ListModel.objects.filter(appid=request.user.appid, name=str(row[pathname]),
                                                                  is_delete=0).exists():
                         pass
                     else:
                         stocklist.models.ListModel.objects.create(appid=request.user.appid, name=str(row[pathname]),
                                                                   goods_name=str(row['商品描述']),
                                                                   t_code=Md5.md5(str(row[pathname])))
                     ListModel.objects.create(appid=request.user.appid, name=str(row[pathname]), goods_name=str(row['商品描述']),
                                              goods_unit=str(row['商品单位']), goods_class=str(row['商品类别']),
                                              goods_spacs=str(row['商品规格']), goods_shape=str(row['商品形状']),
                                              goods_color=str(row['商品颜色']), goods_brand=str(row['商品品牌']),
                                              goods_city=str(row['商品产地']), create_name=create_name,
                                              goods_l=round(float(row['商品长(单位: mm)']), 2),
                                              goods_w=round(float(row['商品宽(单位: mm)']), 2),
                                              goods_h=round(float(row['商品高(单位: mm)']), 2),
                                              goods_weight=round(float(row['商品重量(单位: 克)']), 2),
                                              goods_cost=round(float(row['成本价(单位: 元)']), 2),
                                              goods_price1=round(float(row['一销价(单位: 元)']), 2),
                                              goods_price2=round(float(row['二销价(单位: 元)']), 2),
                                              goods_price3=round(float(row['三销价(单位: 元)']), 2),
                                              t_code=Md5.md5(str(row[pathname])))
         os.remove(filename)
         ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get(
             'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR')
         ret = FBMsg.wms_ret()
         ret['ip'] = ip
         return Response(ret)
     else:
         return Response(FBMsg.err_data())
Пример #7
0
 def put(self, request, format=None):
     global cyclecount_number
     file_obj = request.data['file']
     vip_id = Users.objects.filter(appid=request.user.appid,
                                   developer=1,
                                   is_delete=0).first().vip
     file_check = FileVipCheck.FileVipCheck(file_obj.size, vip_id)
     if file_check == "N":
         return Response(FBMsg.err_data())
     elif file_check == "Y":
         if os.path.exists(
                 os.path.join(settings.BASE_DIR,
                              'media/upload/' + pathlink)):
             pass
         else:
             os.makedirs(
                 os.path.join(settings.BASE_DIR,
                              'media/upload/' + pathlink))
         if file_obj.name.endswith('.xlsx'):
             filename = os.path.join(
                 settings.BASE_DIR, 'media/upload/' + pathlink + '/' +
                 request.user.appid + '.xlsx')
         elif file_obj.name.endswith('.xls'):
             filename = os.path.join(
                 settings.BASE_DIR, 'media/upload/' + pathlink + '/' +
                 request.user.appid + '.xls')
         else:
             return Response(FBMsg.err_data())
         with open(filename, 'wb+') as f:
             for chunk in file_obj.chunks():
                 f.write(chunk)
             f.close()
         df = pd.read_excel(filename)
         if ListModel.objects.filter(appid=request.user.appid).exists():
             upload_data = ListModel.objects.filter(
                 appid=request.user.appid)
             for i in range(len(upload_data)):
                 upload_data[i].delete()
         for index, row in df.iterrows():
             if str(row[pathname]) == '':
                 pass
             else:
                 if goodslist.models.ListModel.objects.filter(
                         appid=request.user.appid,
                         name=str(row['商品编码']),
                         is_delete=0).exists():
                     pass
                 else:
                     ret = FBMsg.wms_err()
                     ret['data'] = {"商品编码不存在": str(row['商品编码'])}
                     return Response(ret)
                 if binset.models.ListModel.objects.filter(
                         appid=request.user.appid,
                         name=str(row[pathname]),
                         is_delete=0).exists():
                     pass
                 else:
                     ret = FBMsg.wms_err()
                     ret['data'] = {"库位不存在": str(row[pathname])}
                     return Response(ret)
                 if Users.objects.filter(appid=request.user.appid,
                                         name=str(row['盘点用户名']),
                                         is_delete=0).exists():
                     pass
                 else:
                     ret = FBMsg.wms_err()
                     ret['data'] = {"用户不存在": str(row['盘点用户名'])}
                     return Response(ret)
                 if stockbinlist.models.ListModel.objects.filter(
                         appid=request.user.appid,
                         t_code=str(row['数据标识']),
                         is_delete=0).exists():
                     cycle_count_data = stockbinlist.models.ListModel.objects.filter(
                         appid=request.user.appid,
                         t_code=str(row['数据标识']),
                         is_delete=0).first()
                     ListModel.objects.create(
                         appid=request.user.appid,
                         name=str(row[pathname]),
                         goods_code=str(row['商品编码']),
                         goods_name=str(row['商品描述']),
                         cycle_count_balance=0 - cycle_count_data.goods_qty,
                         staff=str(row['盘点用户名']),
                         inbound_time=cycle_count_data.create_time,
                         t_code=Md5.md5(str(row[pathname])))
                 else:
                     ret = FBMsg.wms_err()
                     ret['data'] = {"数据不存在": str(row[pathname])}
                     return Response(ret)
         os.remove(filename)
         ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get(
             'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR')
         ret = FBMsg.wms_ret()
         ret['ip'] = ip
         return Response(ret)
     else:
         return Response(FBMsg.err_data())