Esempio n. 1
0
 def delete(self, request, *args, **kwargs):
     vip_id = Users.objects.filter(appid=request.user.appid,
                                   developer=1,
                                   is_delete=0).first().vip
     vip_check = VipCheck.VipCheck(vip_id)
     if vip_check == "N":
         return Response(FBMsg.wms_vip())
     elif vip_check == "Y":
         data = DataSolve.datasolve(request)
         for i in range(len(data)):
             if ListModel.objects.filter(appid=request.user.appid,
                                         t_code=str(data[i]['t_code']),
                                         is_delete=0).exists():
                 pass
             else:
                 ret = FBMsg.wms_err()
                 ret['data'] = data
                 return Response(ret)
         for j in range(len(data)):
             delete_data = ListModel.objects.filter(
                 appid=request.user.appid,
                 t_code=str(data[j]['t_code']),
                 is_delete=0).first()
             delete_data.is_delete = 1
             delete_data.save()
         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
         ret['data'] = data
         return Response(ret)
     else:
         return Response(FBMsg.wms_vip())
Esempio n. 2
0
 def patch(self, request, *args, **kwargs):
     vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip
     vip_check = VipCheck.VipCheck(vip_id)
     if vip_check == "N":
         return Response(FBMsg.wms_vip())
     elif vip_check == "Y":
         data = DataSolve.datasolve(request)
         try:
             if data['code'] == "1031":
                 return Response(FBMsg.err_bad())
         except:
             if ListModel.objects.filter(appid=request.user.appid, t_code=str(data['t_code']), is_delete=0).exists():
                 patch_name = ListModel.objects.get(t_code=str(data['t_code'])).name
                 if patch_name != str(data['name']):
                     if ListModel.objects.filter(appid=request.user.appid, name=str(data['name']), is_delete=0).exists():
                         ret = FBMsg.wms_same()
                         ret['data'] = data
                         return Response(ret)
                 patch_data = ListModel.objects.filter(appid=request.user.appid, t_code=str(data['t_code']), is_delete=0).first()
                 if 'name' in data:
                     patch_data.name = str(data['name'])
                 patch_data.save()
                 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
                 ret['data'] = data
                 return Response(ret)
             else:
                 ret = FBMsg.wms_err()
                 ret['data'] = data
                 return Response(ret)
     else:
         return Response(FBMsg.wms_vip())
Esempio n. 3
0
 def delete(self, request, *args, **kwargs):
     vip_id = Users.objects.filter(appid=request.user.appid, developer=1, is_delete=0).first().vip
     vip_check = VipCheck.VipCheck(vip_id)
     if vip_check == "N":
         return Response(FBMsg.wms_vip())
     elif vip_check == "Y":
         data = DataSolve.datasolve(request)
         for i in range(len(data)):
             if Users.objects.filter(appid=request.user.appid, transaction_code=data[i]['transaction_code'], is_delete=0).exists():
                 user = Users.objects.get(transaction_code=data[i]['transaction_code'])
                 if user.developer == 1:
                     ret = FBMsg.wms_dev()
                     ret['data'] = data
                     return Response(ret)
                 if user.name == Users.objects.get(openid=request.auth, appid=request.user.appid, is_delete=0).name:
                     ret = FBMsg.wms_user_owner()
                     ret['data'] = data
                     return Response(ret)
             else:
                 ret = FBMsg.wms_err()
                 ret['data'] = data
                 return Response(ret)
         for j in range(len(data)):
             delete_data = Users.objects.filter(appid=request.user.appid, transaction_code=data[j]['transaction_code'], is_delete=0).first()
             delete_data.is_delete = 1
             delete_data.save()
         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
         ret['data'] = data
         return Response(ret)
     else:
         return Response(FBMsg.wms_vip())
Esempio n. 4
0
 def patch(self, request, *args, **kwargs):
     vip_id = Users.objects.filter(appid=request.user.appid,
                                   developer=1,
                                   is_delete=0).first().vip
     vip_check = VipCheck.VipCheck(vip_id)
     if vip_check == "N":
         return Response(FBMsg.wms_vip())
     elif vip_check == "Y":
         data = DataSolve.datasolve(request)
         try:
             if data['code'] == "1031":
                 return Response(FBMsg.err_bad())
         except:
             if UserAuth.objects.filter(appid=request.user.appid,
                                        t_code=data['t_code'],
                                        is_delete=0).exists():
                 patch_name = UserAuth.objects.get(
                     t_code=data['t_code']).name
                 if patch_name != data['name']:
                     if UserAuth.objects.filter(appid=request.user.appid,
                                                name=data['name'],
                                                is_delete=0).exists():
                         ret = FBMsg.wms_same()
                         ret['data'] = data
                         return Response(ret)
                 patch_data = UserAuth.objects.filter(
                     appid=request.user.appid,
                     t_code=data['t_code'],
                     is_delete=0).first()
                 if 'name' in data:
                     patch_data.name = data['name']
                 if 'aut1' in data:
                     if str(data['aut1']) == "1":
                         patch_data.aut1 = int(data['aut1'])
                     elif str(data['aut1']) == "0":
                         patch_data.aut1 = int(data['aut1'])
                 if 'aut2' in data:
                     if str(data['aut2']) == "1":
                         patch_data.aut2 = int(data['aut2'])
                     elif str(data['aut2']) == "0":
                         patch_data.aut2 = int(data['aut2'])
                 if 'aut3' in data:
                     if str(data['aut3']) == "1":
                         patch_data.aut3 = int(data['aut3'])
                     elif str(data['aut3']) == "0":
                         patch_data.aut3 = int(data['aut3'])
                 if 'aut4' in data:
                     if str(data['aut4']) == "1":
                         patch_data.aut4 = int(data['aut4'])
                     elif str(data['aut4']) == "0":
                         patch_data.aut4 = int(data['aut4'])
                 if 'aut5' in data:
                     if str(data['aut5']) == "1":
                         patch_data.aut5 = int(data['aut5'])
                     elif str(data['aut5']) == "0":
                         patch_data.aut5 = int(data['aut5'])
                 if 'aut6' in data:
                     if str(data['aut6']) == "1":
                         patch_data.aut6 = int(data['aut6'])
                     elif str(data['aut6']) == "0":
                         patch_data.aut6 = int(data['aut6'])
                 if 'aut7' in data:
                     if str(data['aut7']) == "1":
                         patch_data.aut7 = int(data['aut7'])
                     elif str(data['aut7']) == "0":
                         patch_data.aut7 = int(data['aut7'])
                 if 'aut8' in data:
                     if str(data['aut8']) == "1":
                         patch_data.aut8 = int(data['aut8'])
                     elif str(data['aut8']) == "0":
                         patch_data.aut8 = int(data['aut8'])
                 if 'aut9' in data:
                     if str(data['aut9']) == "1":
                         patch_data.aut9 = int(data['aut9'])
                     elif str(data['aut9']) == "0":
                         patch_data.aut9 = int(data['aut9'])
                 if 'aut10' in data:
                     if str(data['aut10']) == "1":
                         patch_data.aut10 = int(data['aut10'])
                     elif str(data['aut10']) == "0":
                         patch_data.aut10 = int(data['aut10'])
                 if 'aut11' in data:
                     if str(data['aut11']) == "1":
                         patch_data.aut11 = int(data['aut11'])
                     elif str(data['aut11']) == "0":
                         patch_data.aut11 = int(data['aut11'])
                 if 'aut12' in data:
                     if str(data['aut12']) == "1":
                         patch_data.aut12 = int(data['aut12'])
                     elif str(data['aut12']) == "0":
                         patch_data.aut12 = int(data['aut12'])
                 if 'aut13' in data:
                     if str(data['aut13']) == "1":
                         patch_data.aut13 = int(data['aut13'])
                     elif str(data['aut13']) == "0":
                         patch_data.aut13 = int(data['aut13'])
                 if 'aut14' in data:
                     if str(data['aut14']) == "1":
                         patch_data.aut14 = int(data['aut14'])
                     elif str(data['aut14']) == "0":
                         patch_data.aut14 = int(data['aut14'])
                 if 'aut15' in data:
                     if str(data['aut15']) == "1":
                         patch_data.aut15 = int(data['aut15'])
                     elif str(data['aut15']) == "0":
                         patch_data.aut15 = int(data['aut15'])
                 if 'aut15' in data:
                     if str(data['aut15']) == "1":
                         patch_data.aut15 = int(data['aut15'])
                     elif str(data['aut15']) == "0":
                         patch_data.aut15 = int(data['aut15'])
                 if 'aut15' in data:
                     if str(data['aut15']) == "1":
                         patch_data.aut15 = int(data['aut15'])
                     elif str(data['aut15']) == "0":
                         patch_data.aut15 = int(data['aut15'])
                 if 'aut16' in data:
                     if str(data['aut16']) == "1":
                         patch_data.aut16 = int(data['aut16'])
                     elif str(data['aut16']) == "0":
                         patch_data.aut16 = int(data['aut16'])
                 if 'aut17' in data:
                     if str(data['aut17']) == "1":
                         patch_data.aut17 = int(data['aut17'])
                     elif str(data['aut17']) == "0":
                         patch_data.aut17 = int(data['aut17'])
                 if 'aut18' in data:
                     if str(data['aut18']) == "1":
                         patch_data.aut18 = int(data['aut18'])
                     elif str(data['aut18']) == "0":
                         patch_data.aut18 = int(data['aut18'])
                 if 'aut19' in data:
                     if str(data['aut19']) == "1":
                         patch_data.aut19 = int(data['aut19'])
                     elif str(data['aut19']) == "0":
                         patch_data.aut19 = int(data['aut19'])
                 if 'aut20' in data:
                     if str(data['aut20']) == "1":
                         patch_data.aut20 = int(data['aut20'])
                     elif str(data['aut20']) == "0":
                         patch_data.aut20 = int(data['aut20'])
                 patch_data.save()
                 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
                 ret['data'] = data
                 return Response(ret)
             else:
                 ret = FBMsg.wms_err()
                 ret['data'] = data
                 return Response(ret)
     else:
         return Response(FBMsg.wms_vip())
Esempio n. 5
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())
Esempio n. 6
0
 def post(self, request, *args, **kwargs):
     vip_id = Users.objects.filter(appid=request.user.appid,
                                   developer=1,
                                   is_delete=0).first().vip
     vip_check = VipCheck.VipCheck(vip_id)
     if vip_check == "N":
         return Response(FBMsg.wms_vip())
     elif vip_check == "Y":
         data = DataSolve.datasolve(request)
         try:
             if data['code'] == "1031":
                 return Response(FBMsg.err_bad())
         except:
             if 'changedata' in data:
                 if str(data['changedata']) == '1':
                     if ListModel.objects.filter(
                             appid=request.user.appid,
                             t_code=str(data['t_code'])).exists():
                         patch_data = ListModel.objects.filter(
                             appid=request.user.appid,
                             t_code=str(data['t_code'])).first()
                         if 'goods_qty' in data:
                             patch_data.goods_qty = patch_data.goods_qty + int(
                                 data['goods_qty'])
                             patch_data.cycle_count_balance = patch_data.cycle_count_balance + int(
                                 data['goods_qty'])
                         patch_data.save()
                         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
                         ret['data'] = data
                         return Response(ret)
                     else:
                         ret = FBMsg.wms_err()
                         ret['data'] = data
                         return Response(ret)
             if 'postdata' in data:
                 if str(data['postdata']) == '1':
                     if binset.models.ListModel.objects.filter(
                             appid=request.user.appid,
                             name=str(data['name']),
                             is_delete=0).exists():
                         if goodslist.models.ListModel.objects.filter(
                                 appid=request.user.appid,
                                 name=str(data['goods_code']),
                                 is_delete=0).exists():
                             goods_name = goodslist.models.ListModel.objects.filter(
                                 appid=request.user.appid,
                                 name=str(data['goods_code']),
                                 is_delete=0).first().goods_name
                         else:
                             goods_name = ''
                         ListModel.objects.create(
                             appid=request.user.appid,
                             name=str(data['name']),
                             goods_code=str(data['goods_code']),
                             goods_name=goods_name,
                             goods_qty=int(data['goods_qty']),
                             inbound_time=datetime.datetime.now(),
                             staff=str(data['staff']),
                             cycle_count_balance=int(data['goods_qty']),
                             t_code=Md5.md5(str(data['name'])))
                         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
                         ret['data'] = data
                         return Response(ret)
                     else:
                         ret = FBMsg.wms_err()
                         ret['data'] = {"库位不存在": str(data['name'])}
                         return Response(ret)
     else:
         return Response(FBMsg.wms_vip())