def add_invate(self): args = request.args.to_dict() make_log("args", args) data = json.loads(request.data) make_log("data", data) true_args = ["openid"] true_data = ["openid"] if judge_keys(true_args, args.keys()) != 200: return judge_keys(true_args, args.keys()) if judge_keys(true_data, data.keys()) != 200: return judge_keys(true_data, data.keys()) wechat_login = get_model_return_dict( self.susers.get_wechat_login_by_openid(data["openid"])) user_invate = get_model_return_dict( self.susers.get_id_by_openid(data["openid"])) if user_invate: return import_status("ERROR_MESSAGE_CLICK", "FANSTI_ERROR", "ERROR_HAVE_INVATED") if wechat_login: return import_status("ERROR_HAVE_INVATED", "FANSTI_ERROR", "ERROR_HAVE_INVATED") new_user_invate = add_model( "USER_INVATE", **{ "id": str(uuid.uuid4()), "args_openid": args["openid"], "invate_openid": data["openid"] }) if not new_user_invate: return SYSTEM_ERROR return import_status("SUCCESS_NEW_INVATE", "OK")
def get_jc_in_photohead(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") photoheadid = get_model_return_dict( self.sgoods.get_ckmxd_abo(args["jcno"])) print(photoheadid) photo_dict = [] if not photoheadid: photohead = 1 else: photohead = photoheadid["photo_head"] if photohead: photohead = int(photohead) else: photohead = 1 for row in range(1, photohead + 1): photo_dict.append(row) return {"status": 200, "message": "获取入仓照片批次成功", "data": photo_dict}
def get_in_abo(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") wts = get_model_return_dict(self.sgoods.get_ckmxd_wts(args["jcno"])) ckmxd = get_model_return_dict(self.sgoods.get_ckmxd_abo(args["jcno"])) if ckmxd: if ckmxd["enter_time"]: ckmxd["enter_time"] = ckmxd["enter_time"].strftime( "%Y-%m-%d %H:%M:%S") wts.update(ckmxd) else: wts.update({ "warehouse_address": None, "enter_time": None, "goods_quantity": None, "delivery_unit": None, "goods_weight": None, "cargo_size": None, "client_name": None, "remark": None }) return {"status": 200, "message": "获取入库明细成功", "data": wts}
def get_hc_abo(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) #accounts = get_model_return_dict(self.sgoods.get_accounts_by_jcno(args["jcno"])) #make_log("accounts", accounts) #if args["login_name"] == accounts: #return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") wts = get_model_return_dict( self.sgoods.get_ckmxd_wts_ydno(args["jcno"])) if wts: ingoodyard = get_model_return_dict( self.sgoods.get_ingoodyard(args["jcno"])) if ingoodyard: wts["is_button"] = 0 if ingoodyard["submit_time"]: ingoodyard["submit_time"] = ingoodyard[ "submit_time"].strftime("%Y/%m/%d %H:%M:%S") wts.update(ingoodyard) else: wts["is_button"] = 1 wts.update({"submitter": None, "submit_time": None}) else: wts["is_button"] = 1 wts.update({"submitter": None, "submit_time": None}) return {"status": 200, "message": "获取出库确认详情成功", "data": wts}
def update_wts(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") if "wts_type" not in data.keys(): return {"status": 405, "status_code": 405001, "message": "参数缺失"} if data["wts_type"] == "jd": wts = get_model_return_dict( self.sgoods.get_id_by_jcno(args["jcno"])) wts_id = wts["id"] update_wts = self.sgoods.update_wts( wts_id, { "jd_time": datetime.datetime.now(), "ydno": wts["ydno"] }) if not update_wts: return SYSTEM_ERROR return {"status": 200, "message": "交单成功"}
def save_royalty(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") user_type_location = get_model_return_dict( self.susers.get_user_type(args["login_name"])) if user_type_location["user_type"] not in ["0", "3", "4"]: return {"status": 405, "status_code": 405999, "message": "无权限"} packer_leader = data["packer_leader"] for row in data["packer_list"]: add_model( "AIR_HWYS_PACK_ROYALTY", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "packer_leader": packer_leader, "packer": row["packer"], "royalty_rate": None, "create_date": datetime.datetime.now(), "create_user": user["username"] }) return {"status": 200, "message": "保存成功"}
def delete_file(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno", "file_type"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) wts = get_model_return_dict(self.sgoods.get_control_goods( args["jcno"])) if args["file_type"] in ["sb", "jd", "bzwj", "jdfj"]: if args["file_type"] == "sb": file_type = "申报单" elif args["file_type"] == "jd": file_type = "鉴定文件" elif args["file_type"] == "bzwj": file_type = "包装明细" elif args["file_type"] == "jdfj": file_type = "鉴定附件" else: file_type = "未知文件" id = get_model_return_dict( self.sgoods.get_dgdid_by_url(data["photourl"])) dgd_upload = get_model_return_dict( self.sgoods.get_dgd_by_id(id["id"])) print(dgd_upload) add_model( "AIR_HWYS_DGD_UPLOAD_BAK", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "ydno": wts["ydno"], "file_type": file_type, "file_url": data["photourl"], "upload_create_time": dgd_upload["create_time"], "uploade_create_user": dgd_upload["create_user"], "delet_time": datetime.datetime.now(), "delet_user": user["username"], "file_name": data["file_name"] }) delete_photo = self.sgoods.delete_dgd_by_id(id["id"]) if not delete_photo: return { "status": 405, "status_code": 405989, "message": "删除失败" } if args["file_type"] in ["out", "weight", "by", "in"]: id = get_model_return_dict( self.sgoods.get_photosid_by_url(data["photourl"])) delete_photo = self.sgoods.delete_photos_by_id(id["id"]) if not delete_photo: return { "status": 405, "status_code": 405989, "message": "删除失败" } return {"status": 200, "message": "删除成功"}
def get_all_red(self): args = request.args.to_dict() make_log("args", args) true_params = ["login_name"] if judge_keys(true_params, args.keys()) != 200: return judge_keys(true_params, args.keys()) all_red = get_model_return_list( self.sred.get_my_red_status(args["login_name"])) make_log("all_red", all_red) response = import_status("SUCCESS_GET_RED", "OK") response["data"] = {} response["data"]["red_list"] = [] for red in all_red: red_id = red["red_id"] red_abo = get_model_return_dict(self.sred.get_red_by_id(red_id)) make_log("red_abo", red_abo) if not red_abo: return SYSTEM_ERROR red["name"] = red_abo["name"] red["price"] = red_abo["price"] #red["createtime"] = red["createtime"].strftime("%Y-%m-%d") response["data"]["red_list"].append(red_abo) response["data"]["red_num"] = len( get_model_return_list( self.sred.get_my_red_rereceive(args["login_name"]))) response["data"]["red_list"] = all_red my_red = get_model_return_list( self.sred.get_my_red_receive(args["login_name"])) response["data"]["my_red_num"] = len(my_red) all_price = 0 for red in my_red: a_red = get_model_return_dict( self.sred.get_red_by_id(red["red_id"])) make_log("a_red", a_red) red["createtime"] = red["createtime"].strftime("%Y-%m-%d") if not a_red: return SYSTEM_ERROR red["name"] = a_red["name"] red["price"] = a_red["price"] all_price = all_price + float(a_red["price"]) response["data"]["my_red_list"] = my_red response["data"]["my_red_coin"] = all_price response["data"]["month_red"] = [] month = 1 while month < 13: my_red_month = get_model_return_list( self.sred.get_my_red_by_time( datetime.datetime(datetime.datetime.now().year, month, 1, 0, 0, 0), datetime.datetime( datetime.datetime.now().year, month, calendar.monthrange(datetime.datetime.now().year, month)[1], 23, 59, 59))) month_red = {"month": month, "count": len(my_red_month)} response["data"]["month_red"].append(month_red) month = month + 1 print(response) return response
def get_jc_cb(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") wts = get_model_return_dict(self.sgoods.get_control_goods( args["jcno"])) user = get_model_return_dict( self.susers.get_user_type(args["login_name"])) user_type = user["user_type"] if user_type in ['4', '5', '6', '7', '8', '9']: qrd = get_model_return_list( self.sgoods.get_jc_qrd_by_loginname(args["jcno"], args["login_name"])) elif user_type in ['0', '10', '3']: qrd = get_model_return_list(self.sgoods.get_jc_qrd(args["jcno"])) else: qrd = [] print(qrd) cw_lock = get_model_return_dict(self.sgoods.get_cw_lock(args["jcno"])) jc_cb = {} jc_cb["jcno"] = args["jcno"] jc_cb["ydno"] = wts["ydno"] jc_cb["company"] = wts["accounts"] jc_cb["price"] = [] if cw_lock and cw_lock["cb_flag"] == "1": jc_cb["is_insert"] = 0 # 不可新增 elif cw_lock and not cw_lock["cb_flag"]: jc_cb["is_insert"] = 1 elif not cw_lock: jc_cb["is_insert"] = 1 # 可以新增 else: jc_cb["is_insert"] = 2 # 数据库特殊情况 if qrd: for row in qrd: price_dict = {} price_dict["curr"] = "%.2f" % float(row["curr"]) price_dict["amount"] = row["amount"] price_dict["doc"] = row["doc"] price_dict["id"] = row["id"] price_dict["fkdw"] = row["fkdw"] if not row["byzd3"]: price_dict["is_update"] = 1 # 可以编辑 elif row["byzd3"] == "1": price_dict["is_update"] = 0 # 不可以编辑 else: price_dict["is_update"] = 2 # 数据库异常 jc_cb["price"].append(price_dict) return {"status": 200, "message": "获取成本成功", "data": jc_cb}
def update_qrd(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno", "qrd_type"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) wts = get_model_return_dict(self.sgoods.get_control_goods( args["jcno"])) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") if args["qrd_type"] == "add": add_model( "AIR_HWYS_QRD", **{ "id": str(uuid.uuid1()), "ydno": wts["ydno"], "jcno": args["jcno"], "doc": data["charge_cname"], "curr": data["curr"], "amount": data["amount"], "fkdw": data["company"], "createtime": datetime.datetime.now(), "byzd1": "1", "byzd2": args["login_name"], "rate": "1", "currcode": "CNY" }) if args["qrd_type"] == "update": update_qrd = self.sgoods.update_qrd_by_id( data["id"], { "ydno": wts["ydno"], "jcno": args["jcno"], "doc": data["charge_cname"], "curr": data["curr"], "amount": data["amount"], "fkdw": data["company"], "createtime": datetime.datetime.now(), "byzd1": "1", "byzd2": args["login_name"] }) if not update_qrd: return SYSTEM_ERROR if args["qrd_type"] == "delete": delete = self.sgoods.delete_qrd_by_id(data["id"]) if not delete: return SYSTEM_ERROR return {"status": 200, "message": "编辑成功"}
def check_name_password(self, name, password): # TODO 判断是否存在当前月红包,存在的话 import hashlib login_password = hashlib.md5() login_password.update(password.encode("utf8")) password = login_password.hexdigest() name_password_phone = get_model_return_dict( self.susers.get_name_password_phone(name)) make_log("name_password_phone", name_password_phone) if not name_password_phone: return import_status("ERROR_NONE_USER", "FANSTI_ERROR", "ERROR_NONE_USER") if password != name_password_phone["login_password"]: return import_status("ERROR_WRONG_PASSWORD", "FANSTI_ERROR", "ERROR_WRONG_PASSWORD") else: # 用户名密码没问题 增加红包 red_conis = self.sreds.get_red_all() for red_coin in red_conis: my_red_coin = self.sreds.get_myred_by_redid(red_coin.id) if my_red_coin: continue import datetime self.sreds.add_model( "GET_RED_COIN", **{ "id": str(uuid.uuid1()), "login_name": name, "createtime": datetime.datetime.now(), "red_id": red_coin.id, "status": 0 }) return False
def update_royalty(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") if data["royalty_type"] == 0: royaltys = data["packer_list"] for row in royaltys: update_response = self.sgoods.update_royalty( row["id"], { "packer_confrim": "是", "royalty_rate": row["royalty_rate"] }) if not update_response: return SYSTEM_ERROR elif data["royalty_type"] == 1: royaltys = get_model_return_list( self.sgoods.get_royalty_by_jcno(args["jcno"])) for row in royaltys: update_response = self.sgoods.update_royalty( row["id"], {"packer_ok": "是"}) if not update_response: return SYSTEM_ERROR return {"status": 200, "message": "更新成功"}
def check_username_phone(self, name, phone): name_password_phone = get_model_return_dict( self.susers.get_name_password_phone(name)) if name_password_phone and name_password_phone["phone"] == phone: return True else: return False
def get_invate_list(self): args = request.args.to_dict() make_log("args", args) true_args = ["openid", "page_size", "page_num"] if judge_keys(true_args, args.keys()) != 200: return judge_keys(true_args, args.keys()) all_invate = get_model_return_list( self.susers.get_invate_by_login_name(args["openid"], int(args["page_size"]), int(args["page_num"]))) make_log("all_invate", all_invate) for row in all_invate: a_invate = get_model_return_dict( self.susers.get_invate_abo_by_openid(row["invate_openid"])) if a_invate: make_log("a_invate", a_invate) row["name"] = a_invate["name"] #.decode("gbk").encode("utf8") row["phone"] = a_invate["phone"] phone = get_model_return_dict( self.susers.get_wechat_login(args["openid"])) make_log("phone", phone) if not phone: return SYSTEM_ERROR phone = phone["phone"] response = import_status("SUCCESS_GET_INVATE", "OK") top_phone = args.get("top_phone") if top_phone: phone = top_phone if self.check_role(phone): response["top_phone"] = phone for row in all_invate: invate_openid = row["invate_openid"] second_all_invate = get_model_return_list( self.susers.get_invate_by_login_name( invate_openid, int(args["page_size"]), int(args["page_num"]))) make_log("second_all_invate", second_all_invate) row["second_invate"] = False if second_all_invate: row["second_invate"] = True response["data"] = all_invate return response
def get_wechat_phone(self, phone): id = get_model_return_dict( self.susers.get_wechat_login_by_phone(phone)) make_log("id", id) if "id" in id and not id["login_name"]: return import_status("ERROR_SOMEONE_BINDING", "FANSTI_ERROR", "ERROR_SOMEONE_BINDING") return 200
def update_dzjjd(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") if "dzjjd_type" not in data.keys(): return {"status": 405, "status_code": 405001, "message": "参数缺失"} if data["dzjjd_type"] == "kfqr": dzjjd = get_model_return_dict( self.sgoods.get_jjdid_by_jcno(args["jcno"])) print(dzjjd) user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) update_dzjjd = self.sgoods.update_dzjjd( dzjjd["jjd_id"], { "kf_ry": user["username"], "kfqr_date": datetime.datetime.now(), "kf_bz": data["bz"] }) if not update_dzjjd: return SYSTEM_ERROR if data["dzjjd_type"] == "hcqr": dzjjd = get_model_return_dict( self.sgoods.get_jjdid_by_jcno(args["jcno"])) user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) update_dzjjd = self.sgoods.update_dzjjd( dzjjd["jjd_id"], { "hc_ry": user["username"], "hcqr_date": datetime.datetime.now(), "hc_bz": data["bz"] }) if not update_dzjjd: return SYSTEM_ERROR return {"status": 200, "message": str(data["dzjjd_type"]) + "成功"}
def update_my_info(self): args = request.args.to_dict() make_log("args", args) true_args = ["openid"] if judge_keys(true_args, args.keys()) != 200: return judge_keys(true_args, args.keys()) data = json.loads(request.data) make_log("data", data) true_data = ["user_name"] null_data = [ "work_year", "work_goodat", "user_introduction", "qq", "wechat", "email" ] if judge_keys(true_data, data.keys(), null_data) != 200: return judge_keys(true_data, data.keys(), null_data) phone = get_model_return_dict( self.susers.get_wechat_login(args["openid"]))["phone"] make_log("phone", phone) if not phone: return SYSTEM_ERROR my_info = get_model_return_dict( self.susers.get_personal_by_openid(args["openid"])) make_log("myinfo", my_info) if not my_info: return SYSTEM_ERROR for key in null_data: if key not in data.keys(): data[key] = None update_info = self.susers.update_wechat_login( args["openid"], { "user_name": data["user_name"], "work_year": data["work_year"], "work_goodat": data["work_goodat"], "user_introduction": data["user_introduction"], "qq": data["qq"], "wechat": data["wechat"], "email": data["email"] }) if not update_info: return SYSTEM_ERROR response = import_status("SUCCESS_GET_RETRUE", "OK") return response
def get_packer(self): args = request.args.to_dict() make_log("args", args) not_null_params = ["select_name", "login_name"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) location = get_model_return_dict( self.susers.get_user_type(args["login_name"]))["location"] all_packer = get_model_return_list( self.susers.get_packer_by_select(args["select_name"], location)) return {"status": 200, "message": "获取包装人员列表成功", "data": all_packer}
def get_binding(self): args = request.args.to_dict() make_log("args", args) true_params = ["openid"] if judge_keys(true_params, args.keys()) != 200: return judge_keys(true_params, args.keys()) get_status_by_openid = get_model_return_dict( self.susers.get_wechat_login_by_openid(args["openid"])) make_log("get_status_by_openid", get_status_by_openid) if not get_status_by_openid: return SYSTEM_ERROR else: if not get_status_by_openid["login_name"]: user_type = -111 else: user_type = get_model_return_dict( self.susers.get_user_type( get_status_by_openid["login_name"]))["user_type"] from Fansti.config.Inforcode import FANSTICONFIG import configparser cf = configparser.ConfigParser() cf.read(FANSTICONFIG) phone_list = cf.get("enquiry", "whitelist") if str(phone_list) == "[]": phone_list = str(phone_list).replace("[", "").replace("]", "") phone_list = list(phone_list) else: phone_list = str(phone_list).replace("[", "").replace("]", "").replace("\"", "") \ .replace("\'", "").replace("\\", "").replace(" ", "").replace("u", "").split(",") print(phone_list) response = import_status("ERROR_HAVE_BINDING", "OK") response["data"] = {} if get_status_by_openid["login_name"] not in phone_list: response["data"]["is_show"] = 0 else: response["data"]["is_show"] = 1 response["data"]["login_name"] = get_status_by_openid["login_name"] response["data"]["user_type"] = user_type return response
def retrue_outhc(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") if "retrue_type" not in data.keys(): return {"status": 405, "status_code": 405001, "message": "参数缺失"} user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) print(user) wts = get_model_return_dict(self.sgoods.get_control_goods( args["jcno"])) if data["retrue_type"] == "out": add_model( "AIR_HWYS_OUTWAREHOUSE", **{ "id": str(uuid.uuid1()), "ydno": wts["ydno"], "submitter": user["username"], "submit_time": datetime.datetime.now(), "create_time": datetime.datetime.now() }) if data["retrue_type"] == "hc": add_model( "AIR_HWYS_INGOODYARD", **{ "id": str(uuid.uuid1()), "ydno": wts["ydno"], "submitter": user["username"], "submit_time": datetime.datetime.now(), "create_time": datetime.datetime.now() }) return {"status": 200, "message": "确认成功"}
def user_login_local(self): data = json.loads(request.data) make_log("data", data) true_data = ["phone", "login_name", "login_password", "openid"] if judge_keys(true_data, data.keys()) != 200: return judge_keys(true_data, data.keys()) if "login_name" in data and "login_password" in data: check_result = self.check_name_password(data.get("login_name"), data.get("login_password")) if check_result: return check_result openid = get_model_return_dict( self.susers.get_user_openid(data.get("login_name")))["open_id"] if openid and openid != data.get("openid"): return {"status": 405, "status_code": 405939, "message": "该账号已被授权"} if not openid: id = get_model_return_dict( self.susers.get_id_by_name(data.get("login_name")))["id"] update_user = self.susers.update_d_message_user( id, {"open_id": data.get("openid")}) if not update_user: return { "status": 405, "status_code": 405976, "message": "绑定失败" } usertype = get_model_return_dict( self.susers.get_user_type(data.get("login_name"))).get("user_type") if not self.check_username_phone(data["login_name"], data["phone"]): return {"status": 405, "status_code": 405601, "message": "手机号错误"} return { "status": 200, "message": "登陆成功", "data": { "user_type": usertype } }
def get_jc_pic_in(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno", "photo_head"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") photoheadid = get_model_return_dict( self.sgoods.get_photoheadid_by_head_jcno(args["jcno"], args["photo_head"])) photos = get_model_return_list( self.sgoods.get_photo_by_headid(photoheadid["id"])) for row in photos: row["createtime"] = row["createtime"].strftime("%Y/%m/%d %H:%M:%S") return {"status": 200, "message": "获取入仓照片成功", "data": photos}
def get_abo(self): args = request.args.to_dict() make_log("args", args) true_args = ["id"] if judge_keys(true_args, args.keys()) != 200: return judge_keys(true_args, args.keys()) one_news = get_model_return_dict(self.snews.get_message(args["id"])) make_log("one_news", one_news) one_news["news_time"] = one_news["news_time"].strftime( "%Y-%m-%d %H:%M:%S") response = import_status("SUCCESS_GET_NEWS", "OK") response["data"] = one_news return response
def get_my_info(self): args = request.args.to_dict() make_log("args", args) true_args = ["openid"] if judge_keys(true_args, args.keys()) != 200: return judge_keys(true_args, args.keys()) my_info = get_model_return_dict( self.susers.get_personal_by_openid(args["openid"])) make_log("my_info", my_info) for row in my_info.keys(): if my_info[row]: my_info[row] = my_info[row] response = import_status("SUCCESS_GET_RETRUE", "OK") response["data"] = my_info return response
def get_jd_list(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") file_list = get_model_return_list(self.sgoods.get_jd_list( args["jcno"])) return {"status": 200, "message": "获取文件列表成功", "data": file_list}
def make_user_message(self): args = request.args.to_dict() make_log("args", args) data = json.loads(request.data) make_log("data", data) true_args_params = ["openid"] true_data_params = ["message"] if judge_keys(true_args_params, args.keys()) != 200: return judge_keys(true_args_params, args.keys()) if judge_keys(true_data_params, data.keys()) != 200: return judge_keys(true_data_params, data.keys()) phone = get_model_return_dict( self.susers.get_wechat_login(args["openid"]))["phone"] new_message = add_model( "USER_MESSAGE", **{ "id": str(uuid.uuid4()), "phone": phone, "message": data["message"] }) if not new_message: return SYSTEM_ERROR return import_status("SUCCESS_MAKE_MESSAGE", "OK")
def get_jc_pic(self): # TODO 入仓照片分批次,这个需要设计 args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) accounts = get_model_return_dict( self.sgoods.get_accounts_by_jcno(args["jcno"])) make_log("accounts", accounts) if args["login_name"] == accounts: return import_status("ERROR_NONE_PERMISSION", "FANSTI_ERROR", "ERROR_NONE_PERMISSION") jc_abo = {} jc_abo["jcno"] = args["jcno"] jc_abo["in"] = [] jc_abo["out"] = [] jc_abo["weight"] = [] jc_abo["by"] = [] make_log("jc_abo", jc_abo) if not jc_abo: return SYSTEM_ERROR quantity_weight = get_model_return_dict( self.sgoods.get_quantity_weight_by_jcno(args["jcno"])) if quantity_weight: jc_abo_in = get_model_return_list( self.sgoods.get_in_order_by_jcno(args["jcno"])) make_log("jc_abo_in", jc_abo_in) if jc_abo_in: for in_order in jc_abo_in: in_order["createtime"] = in_order["createtime"].strftime( "%Y-%m-%d %H:%M:%S") jc_abo["in"] = jc_abo_in jc_abo_out = get_model_return_list( self.sgoods.get_out_order_by_jcno(args["jcno"])) make_log("jc_abo_out", jc_abo_out) if jc_abo_out: for out_order in jc_abo_out: out_order["createtime"] = out_order["createtime"].strftime( "%Y-%m-%d %H:%M:%S") jc_abo["out"] = jc_abo_out jc_abo_weight = get_model_return_list( self.sgoods.get_weight_order_by_jcno(args["jcno"])) make_log("jc_abo_weight", jc_abo_weight) if jc_abo_weight: for weight_order in jc_abo_weight: weight_order["createtime"] = weight_order[ "createtime"].strftime("%Y-%m-%d %H:%M:%S") jc_abo["weight"] = jc_abo_weight jc_abo_by = get_model_return_list( self.sgoods.get_by_order_by_jcno(args["jcno"])) make_log("jc_abo_by", jc_abo_by) if jc_abo_by: for by_order in jc_abo_by: by_order["createtime"] = by_order["createtime"].strftime( "%Y-%m-%d %H:%M:%S") jc_abo["by"] = jc_abo_by response = import_status("SUCCESS_GET_JC", "OK") response["data"] = jc_abo return response
def make_sb(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) wts = get_model_return_dict(self.sgoods.get_control_goods( args["jcno"])) for row in data["jd_list"]: add_model( "AIR_HWYS_DGD_UPLOAD", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "ydno": wts["ydno"], "file_type": "鉴定文件", "file_url": row["url"], "create_time": datetime.datetime.now(), "create_user": user["username"], "file_name": row["file_name"] }) for row in data["sb_list"]: add_model( "AIR_HWYS_DGD_UPLOAD", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "ydno": wts["ydno"], "file_type": "申报单", "file_url": row["url"], "create_time": datetime.datetime.now(), "create_user": user["username"], "file_name": row["file_name"] }) for row in data["bzmx_list"]: add_model( "AIR_HWYS_DGD_UPLOAD", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "ydno": wts["ydno"], "file_type": "包装明细", "file_url": row["url"], "create_time": datetime.datetime.now(), "create_user": user["username"], "file_name": row["file_name"] }) for row in data["jdfj_list"]: add_model( "AIR_HWYS_DGD_UPLOAD", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "ydno": wts["ydno"], "file_type": "鉴定附件", "file_url": row["url"], "create_time": datetime.datetime.now(), "create_user": user["username"], "file_name": row["file_name"] }) return {"status": 200, "message": "上传完毕"}
def add_in(self): args = request.args.to_dict() make_log("args", args) not_null_params = ['login_name', "jcno"] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) data = json.loads(request.data) make_log("data", data) wts = get_model_return_dict(self.sgoods.get_control_goods( args["jcno"])) # wts中获取jcno/czr/hwpm user = get_model_return_dict( self.susers.get_user_name(args["login_name"])) ckmxd = get_model_return_dict(self.sgoods.get_ckmxd_abo(args["jcno"])) if ckmxd: photo_head = ckmxd["photo_head"] print(photo_head) else: photo_head = None if photo_head: if photo_head == "6": photo_head = int(photo_head) else: photo_head = int(photo_head) + 1 else: photo_head = 1 add_model( "AIR_HWYS_CKMXD", **{ "list_id": str(uuid.uuid1()), "jcno": args["jcno"], "salesman": wts["czr"], "hwpm": data["hwpm"], "warehouse_address": data["warehouse_address"], "enter_time": datetime.datetime.strptime(data["enter_time"], "%Y-%m-%d %H:%M:%S"), "create_time": datetime.datetime.now(), "goods_quantity": data["goods_quantity"], "delivery_unit": data["delivery_unit"], "goods_weight": data["goods_weight"], "cargo_size": data["cargo_size"], "client_name": data["client_name"], "remark": data["remark"], "photo_head": str(photo_head) }) photoheadid = str(uuid.uuid1()) add_model( "AIR_HWYS_PHOTO_HEAD", **{ "id": photoheadid, "photohead": str(photo_head), "jcno": args["jcno"], "type": "in", "createtime": datetime.datetime.now(), "czr": user["username"], "photocount": len(data["pic_list"]) }) for row in data["pic_list"]: add_model( "AIR_HWYS_PHOTOS", **{ "id": str(uuid.uuid1()), "jcno": args["jcno"], "phototype": "in", "photourl": row["url"], "createtime": datetime.datetime.now(), "czr": user["username"], "filename": row["filename"], "photoheadid": photoheadid }) return {"status": 200, "message": "提交成功"}
def get_today_list(self): args = request.args.to_dict() make_log("args", args) not_null_params = [ 'login_name', "page_size", "page_num", "time_use", "select_name" ] if judge_keys(not_null_params, args.keys()) != 200: return judge_keys(not_null_params, args.keys()) wts_filter = set() from Fansti.models.model import AIR_HWYS_WTS user = self.susers.get_user_type(args.get("login_name")) if not user: return import_status("ERROR_NONE_USER", "FANSTI_ERROR", "ERROR_NONE_USER") usertype = user.user_type if usertype: try: usertype = int(usertype) except Exception as e: make_log('get good list error', e) return SYSTEM_ERROR # 根据usertype判断login_name的场景 from sqlalchemy import or_ if usertype == 10: wts_filter.add( or_(AIR_HWYS_WTS.czr == args.get("login_name"), AIR_HWYS_WTS.xsr == args.get("login_name"))) elif usertype == 0: pass elif usertype in [3, 4, 5, 6, 7, 8, 9]: wts_filter.add(AIR_HWYS_WTS.location == user.location) else: accounts = get_model_return_dict( self.susers.get_compnay_by_loginname(args["login_name"])) make_log("accounts", accounts) wts_filter.add(AIR_HWYS_WTS.accounts == accounts.get("compnay")) if args["select_name"]: wts_filter.add( or_( AIR_HWYS_WTS.jcno.like("%{0}%".format( args["select_name"])), AIR_HWYS_WTS.ydno.like("%{0}%".format( args["select_name"])), AIR_HWYS_WTS.destination.like("%{0}%".format( args["select_name"])))) # 处理当前时间 时间格式为2019-04-29 if args["time_use"]: args["time_use"] = datetime.datetime.strptime( args["time_use"], "%Y-%m-%d") today_date = args["time_use"] wts_filter.add(AIR_HWYS_WTS.arrivetime == today_date) goods_list = get_model_return_list( self.sgoods.get_all_goods_by_filter(wts_filter, int(args["page_size"]), int(args["page_num"]))) for row in goods_list: if row["createtime"]: row["createtime"] = row["createtime"].strftime("%Y-%m-%d") if row["flag_date"]: row["flag_date"] = row["flag_date"].strftime("%Y-%m-%d") row["backcolor"] = "灰色" if row["transtime"]: row["transtime"] = row["transtime"].strftime("%Y-%m-%d") else: if row["transtime"]: if row["transtime"] == datetime.datetime.now().date(): row["backcolor"] = "黄色" else: row["backcolor"] = "白色" row["transtime"] = row["transtime"].strftime("%Y-%m-%d") if "backcolor" not in row.keys(): row["backcolor"] = "白色" if row["isphoto"]: row["backcolor"] = "红色" if row["isphoto"] == "直接交货!": row["icon"] = "交货" elif row["isphoto"] == "拍照等确认!": row["icon"] = "拍照" else: row["icon"] = None make_log("goods_list", goods_list) response = import_status("SUCCESS_GET_GOODS", "OK") response["data"] = goods_list return response