public GoodsReceivedResult ResetOrdercode(long?purch_id, string OrderCode) { bool isok = false; GoodsReceivedResult result = new GoodsReceivedResult(); using (var db = SugarDao.GetInstance(LoginUser.GetConstr())) { try { busi_purchase pur = db.Queryable <busi_purchase>().Where(s => s.purch_id == purch_id).FirstOrDefault(); pur.OrderCode = OrderCode; isok = db.Update <busi_purchase>(pur); if (isok) { result.success = true; result.Msg = "操作成功"; return(result); } else { result.success = false; result.Msg = "操作失败"; return(result); } } catch (Exception ex) { result.success = false; result.Msg = "操作失败" + ex.Message; return(result); } } }
public ActionResult Save1(busi_purchase model, List <MaterialReceiptModelE> lists) { MaterialReceiptResult com = new MaterialReceiptResult(); try { return(Json(com)); } catch (Exception ex) { com.Msg = ex.ToString(); com.success = false; return(Json(com)); } }
public ActionResult isLocked(busi_purchase model) { WaitPurchaseResult com = new WaitPurchaseResult(); try { com = _service.isLocked(model); return(Json(com)); } catch (Exception ex) { com.Msg = ex.ToString(); com.success = false; return(Json(com)); } }
public ActionResult Save(busi_purchase model, List <MaterialReceiptSaveModel> lists, int?purch_type) { MaterialReceiptResult com = new MaterialReceiptResult(); try { com = _service.Save(model, lists, purch_type); return(Json(com)); } catch (Exception ex) { com.Msg = ex.ToString(); com.success = false; return(Json(com)); } }
public ActionResult IndexE(long?id) { busi_purchase list = _service.GetInfoByID(id.Value); if (list.purch_id > 0) { ViewBag.id = list.purch_id; ViewBag.purch_numb = list.purch_numb.ToString(); ViewBag.purch_code = list.purch_code; ViewBag.sum_money = list.sum_money; ViewBag.purch_remark = list.purch_remark; ViewBag.purch_sum = list.purch_sum; ViewBag.create_time = list.create_time.ToString("yyyy-MM-dd"); ViewBag.sum_freight = list.sum_freight; ViewBag.purch_status = list.purch_status == 1 ? "初始" : (list.purch_status == 2 ? "已采购" : (list.purch_status == 3 ? "待收货" : (list.purch_status == 4 ? "已全部到货" : ""))); ViewBag.purch_type = list.purch_type == 1 ? "订单采购" : (list.purch_type == 2 ? "库存采购" : ""); ViewBag.isLocked = list.isLocked; } return(View(new busi_purchase())); }
/// <summary> /// 采购收货 /// </summary> /// <param name="model"></param> /// <param name="lists"></param> /// <param name="purch_type"></param> /// <returns></returns> public MaterialReceiptResult Save(busi_purchase model, List <MaterialReceiptSaveModel> lists, int?purch_type) { bool rstNum = false; bool rstNums = false; bool rstNumss = false; MaterialReceiptResult result = new MaterialReceiptResult(); using (var db = SugarDao.GetInstance(LoginUser.GetConstr())) { try { db.BeginTran(); #region 判断 if (model == null) { result.success = false; result.Msg = "请填写信息!"; return(result); } if (model.purch_id == 0) { result.success = false; result.Msg = "参数错误!"; return(result); } if (!purch_type.HasValue || purch_type < 0) { result.success = false; result.Msg = "参数错误!"; return(result); } #endregion int suc = 0; var list = db.Queryable <busi_purchase>().Where(s => s.del_flag).InSingle(model.purch_id); if (list == null) { result.success = false; result.Msg = "不存在的采购信息"; return(result); } if (list.purch_status == 4) { result.success = false; result.Msg = "该单号已收货,请勿重复操作!"; return(result); } list.edit_time = DateTime.Now; list.purch_status = 4; list.edit_user_id = 0; rstNum = db.Update <busi_purchase>(list); if (rstNum) { rstNums = db.Update <busi_purchasedetail>(new { purch_status = 4 }, a => a.purch_id == model.purch_id && a.purch_status == 3); if (lists.Count > 0) { if (purch_type == 1) { foreach (var item in lists) { var stock = db.Queryable <base_wh_stock>().Where(s => s.del_flag && s.code_id == item.code_id && s.prod_id == item.prod_id && s.location_id == 1 && s.wh_id == 1).FirstOrDefault(); if (stock != null) { Decimal oldwh_stock = stock.stock_qty; Decimal newwh_stock = oldwh_stock + item.prod_num; rstNumss = db.Update <base_wh_stock>(new { stock_qty = newwh_stock }, s => s.stock_id == stock.stock_id); if (rstNumss) { suc += 1; } } else { var wh_warehouse = db.Queryable <base_wh_warehouse>().Where(s => s.del_flag).InSingle(1); if (wh_warehouse != null) { base_wh_stock wh_stock = new base_wh_stock(); wh_stock.prod_id = item.prod_id; wh_stock.occupied_qty = 0; wh_stock.pallet_id = 0; wh_stock.purchase_price = 0; wh_stock.remark = "采购收货"; wh_stock.reserve_qty = 0; wh_stock.service_life = ""; wh_stock.stock_barcode = ""; wh_stock.stock_class = 3; wh_stock.stock_code = "1"; wh_stock.stock_qty = item.prod_num; wh_stock.stock_status = true; wh_stock.retrieval_time = DateTime.Now; wh_stock.storage_time = DateTime.Now; wh_stock.supplier_id = item.supp_id; wh_stock.using_state = 1; wh_stock.wh_id = 1; wh_stock.location_id = 1; wh_stock.locking_qty = 0; wh_stock.area_id = 0; wh_stock.asset_class_id = 0; wh_stock.code_id = item.code_id; wh_stock.consignor_id = 0; wh_stock.create_time = DateTime.Now; wh_stock.create_user_id = LoginUser.Current.user_id; wh_stock.del_flag = true; wh_stock.del_user_id = 0; wh_stock.edit_user_id = 0; wh_stock.del_time = DateTime.Now; wh_stock.edit_time = DateTime.Now; wh_stock.stock_id = Guid.NewGuid(); var id = db.Insert <base_wh_stock>(wh_stock); if (id.ObjToBool()) { suc += 1; } } else { db.RollbackTran(); result.success = false; result.Msg = "操作失败! 请先添加<span style=\"color:red;\">金华仓</span>!"; return(result); } } } } else if (purch_type == 2) { foreach (var item in lists) { var stock = db.Queryable <base_wh_stock>().Where(s => s.del_flag && s.code_id == item.code_id && s.prod_id == item.prod_id && s.location_id != 1 && s.wh_id == 1).FirstOrDefault(); if (stock != null) { Decimal oldwh_stock = stock.stock_qty; Decimal newwh_stock = oldwh_stock + item.prod_num; if (newwh_stock >= 0) { rstNumss = db.Update <base_wh_stock>(new { stock_qty = newwh_stock }, s => s.stock_id == stock.stock_id); if (rstNumss) { suc += 1; } } } else { var location = db.Queryable <base_location>().Where(s => s.del_flag && s.wh_id == 1 && s.locat_type == 2).FirstOrDefault(); if (location != null) { base_wh_stock wh_stock = new base_wh_stock(); wh_stock.prod_id = item.prod_id; wh_stock.occupied_qty = 0; wh_stock.pallet_id = 0; wh_stock.purchase_price = 0; wh_stock.remark = "库存采购"; wh_stock.reserve_qty = 0; wh_stock.service_life = ""; wh_stock.stock_barcode = ""; wh_stock.stock_class = 3; wh_stock.stock_code = "1"; wh_stock.stock_qty = item.prod_num; wh_stock.stock_status = true; wh_stock.retrieval_time = DateTime.Now; wh_stock.storage_time = DateTime.Now; wh_stock.supplier_id = item.supp_id; wh_stock.using_state = 1; wh_stock.wh_id = 1; wh_stock.location_id = location.locat_id; wh_stock.locking_qty = 0; wh_stock.area_id = 0; wh_stock.asset_class_id = 0; wh_stock.code_id = item.code_id; wh_stock.consignor_id = 0; wh_stock.create_time = DateTime.Now; wh_stock.create_user_id = LoginUser.Current.user_id; wh_stock.del_flag = true; wh_stock.del_user_id = 0; wh_stock.edit_user_id = 0; wh_stock.del_time = DateTime.Now; wh_stock.edit_time = DateTime.Now; wh_stock.stock_id = Guid.NewGuid(); var id = db.Insert <base_wh_stock>(wh_stock); if (id.ObjToBool()) { suc += 1; } } else { db.RollbackTran(); result.success = false; result.Msg = "<span style=\"color:red;\">金华仓</span>暂无库位,请先添加<span style=\"color:red;\">金华仓</span>库位,在进行操作!"; return(result); } } } } } } if (suc == lists.Count) { db.CommitTran(); result.success = true; // result.URL = "/MaterialReceipt/IndexE?id=" + model.purch_id + ""; result.Msg = "操作成功"; return(result); } else { db.RollbackTran(); result.success = false; result.Msg = "操作失败"; return(result); } } catch (Exception) { db.RollbackTran(); throw; } } }
/// <summary> /// 根据ID锁定 解锁 采购信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public WaitPurchaseResult isLocked(busi_purchase model) { bool rstNum = false; WaitPurchaseResult result = new WaitPurchaseResult(); using (var db = SugarDao.GetInstance(LoginUser.GetConstr())) { try { if (model == null) { result.success = false; result.Msg = "请填写信息!"; return(result); } if (model.purch_id == 0) { result.success = false; result.Msg = "参数错误!"; return(result); } var list = db.Queryable <busi_purchase>().Where(s => s.del_flag).InSingle(model.purch_id); if (list == null) { result.success = false; result.Msg = "不存在的采购信息"; return(result); } Int64 uid = 0; if (model.isLocked) { uid = LoginUser.Current.user_id; } else { if (LoginUser.Current.user_id != list.Locked_userid) { var info = db.Queryable <base_users>().InSingle(list.Locked_userid); if (info != null) { result.success = false; result.Msg = "该数据已被 " + info.user_name + " 锁定,操作失败!"; return(result); } else { result.success = false; result.Msg = "该数据已被锁定,操作失败!"; return(result); } } } rstNum = db.Update <busi_purchase>(new { isLocked = model.isLocked, Locked_userid = uid }, a => a.purch_id == model.purch_id); if (rstNum) { result.success = true; result.Msg = "操作成功"; return(result); } else { result.success = false; result.Msg = "操作失败"; return(result); } } catch (Exception) { throw; } } }
/// <summary> /// 采购 /// </summary> /// <param name="model"></param> /// <returns></returns> public WaitPurchaseResult Save(busi_purchase model) { bool rstNum = false; bool rstNums = false; WaitPurchaseResult result = new WaitPurchaseResult(); using (var db = SugarDao.GetInstance(LoginUser.GetConstr())) { try { db.BeginTran(); #region 判断 if (model == null) { result.success = false; result.Msg = "请填写信息!"; return(result); } if (model.purch_id == 0) { result.success = false; result.Msg = "参数错误!"; return(result); } if (string.IsNullOrWhiteSpace(model.OrderCode)) { result.success = false; result.Msg = "淘宝订单号不得为空!"; return(result); } string sum_freight = model.sum_freight.ToString(); if (string.IsNullOrWhiteSpace(sum_freight)) { result.success = false; result.Msg = "请输入正确格式的运费!"; return(result); } #endregion var list = db.Queryable <busi_purchase>().Where(s => s.del_flag).InSingle(model.purch_id); if (list == null) { result.success = false; result.Msg = "不存在的采购信息"; return(result); } if (list.isLocked) { var info = db.Queryable <base_users>().InSingle(list.Locked_userid); if (info != null) { result.success = false; result.Msg = "该数据已被 " + info.user_name + " 锁定,操作失败!"; return(result); } else { result.success = false; result.Msg = "该数据已被锁定,操作失败!"; return(result); } } if (list.purch_status == 2) { result.success = false; result.Msg = "该单号已采购过,请勿重复操作!"; return(result); } list.sum_money = model.sum_freight + list.purch_sum; list.sum_freight = model.sum_freight; list.purch_remark = model.purch_remark; list.OrderCode = model.OrderCode; list.isLocked = false; list.Locked_userid = 0; list.edit_time = DateTime.Now; list.purch_status = 2; list.edit_user_id = LoginUser.Current.user_id; list.create_time = DateTime.Now; rstNum = db.Update <busi_purchase>(list); if (rstNum) { rstNums = db.Update <busi_purchasedetail>(new { purch_status = 2 }, a => a.purch_id == model.purch_id && a.purch_status == 1); } if (rstNum && rstNums) { db.CommitTran(); result.success = true; // result.URL = "/WaitPurchase/IndexE?id=" + model.purch_id + ""; result.Msg = "操作成功"; return(result); } else { db.RollbackTran(); result.success = false; result.Msg = "操作失败"; return(result); } } catch (Exception) { db.RollbackTran(); throw; } } }
/// <summary> /// 添加库存采购信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public ComResult AddPurchaseService(string sku, int num, int supId) { ComResult com = new ComResult(); using (var db = SugarDao.GetInstance(LoginUser.GetConstr())) { //验证SKU是否存在 var procodeModel = db.Queryable <base_prod_code>().Where(a => a.sku_code == sku).FirstOrDefault(); if (procodeModel == null) { com.State = 0; com.Msg = "输入的SKU不存在请重新输入"; return(com); } if (num <= 0) { com.State = 0; com.Msg = "采购数量不能小于等于0"; return(com); } //验证供应商是否存在 var supModel = db.Queryable <base_supplier>().Where(a => a.del_flag).InSingle(supId); if (supModel == null) { com.State = 0; com.Msg = "输入的供应商不存在请重新输入"; return(com); } var list = db.Queryable <base_product>().Where(s => s.del_flag).InSingle(procodeModel.prod_id); DateTime time = DateTime.Now.AddDays(-3); var issuc = false; int id = 0; int ids = 0; var ss = db.Queryable <busi_purchase>().Where(s => s.del_flag && s.create_time >= time && s.purch_status == 1 && s.supp_id == supId && s.purch_type == 2).FirstOrDefault(); if (ss != null) { issuc = db.Update <busi_purchase>(new { edit_time = DateTime.Now, edit_user_id = LoginUser.Current.user_id, purch_numb = ss.purch_numb + num, sum_money = ss.sum_money + list.price_cn * num, purch_sum = list.price_cn * num + ss.purch_sum, }, s1 => s1.purch_id == ss.purch_id); // 批量修改订单表 状态 } else { busi_purchase pur = new busi_purchase(); pur.abnormal_remark = ""; pur.create_time = DateTime.Now; pur.create_user_id = LoginUser.Current.user_id; pur.del_flag = true; pur.del_time = DateTime.Now; pur.supp_id = supId; pur.del_user_id = 0; pur.edit_time = DateTime.Now; pur.edit_user_id = 0; pur.purch_categories = 0; pur.purch_code = GetPurchaseCode(); pur.purch_numb = num; pur.purch_remark = "库存采购"; pur.purch_status = 1; pur.purch_type = 2; pur.remark = "库存采购"; pur.sum_freight = 0; pur.sum_money = list.price_cn * num; pur.purch_sum = list.price_cn * num; pur.express_id = 0; pur.express_code = null; pur.express_name = null; pur.OrderCode = null; pur.isLocked = false; pur.Locked_userid = 0; var obj = db.Insert <busi_purchase>(pur); // 插入采购表 id = obj.ObjToInt(); } if (issuc || id > 0) { busi_purchasedetail purchasedetail = new busi_purchasedetail(); purchasedetail.code_id = procodeModel.code_id; purchasedetail.create_time = DateTime.Now; purchasedetail.create_user_id = LoginUser.Current.user_id; purchasedetail.cust_send_billcode = ""; purchasedetail.custorderdetail_id = 0; purchasedetail.del_flag = true; purchasedetail.del_time = DateTime.Now; purchasedetail.del_user_id = 0; purchasedetail.edit_time = DateTime.Now; purchasedetail.edit_user_id = 0; purchasedetail.err_count = 0; purchasedetail.is_cancel = true; purchasedetail.lack_count = 0; purchasedetail.prod_id = procodeModel.code_id; purchasedetail.purch_count = num; purchasedetail.purch_id = id; purchasedetail.purch_rice = list.price_cn; purchasedetail.purch_status = 1; purchasedetail.purch_type = 2; purchasedetail.purch_url = supModel.supp_url; purchasedetail.remark = "库存采购"; purchasedetail.send_detail_id = 0; purchasedetail.shop_id = 0; purchasedetail.supp_id = supId; purchasedetail.wh_id = 1; var objs = db.Insert <busi_purchasedetail>(purchasedetail); ids = objs.ObjToInt(); } if (ids > 0) { com.State = 1; com.Msg = "操作成功"; } else { com.State = 0; com.Msg = "操作失败"; } return(com); } }