public override BaseResult Get(Hashtable param) { BaseResult res = new BaseResult() { Success = true }; try { Td_Xs_1_Query_DetailModel result = new Td_Xs_1_Query_DetailModel(); var head = DAL.GetItem <Td_Xs_1_QueryModel>(typeof(Td_Xs_1), param); if (head != null && !string.IsNullOrEmpty(head.id)) { result.head = head; param.Clear(); param.Add("id_bill", head.id); param.Add("dh", head.dh); var body = DAL.QueryList <Td_Xs_2_QueryModel>(typeof(Td_Xs_2), param).OrderBy(d => d.sort_id); result.body = body.ToList(); res.Data = result; } else { res.Success = false; res.Message.Add("未找到此销售订单信息!"); } } catch (Exception ex) { res.Success = false; res.Message.Add("获取单条数据操作异常!"); } return(res); }
/// <summary> /// 审核 /// </summary> /// <param name="param"></param> /// <returns></returns> public BaseResult ActiveWork(Hashtable param) { #region 参数验证 BaseResult result = new BaseResult() { Success = true }; if (param == null || param.Count < 3) { result.Success = false; result.Message.Add("参数有误!"); return(result); } var id = param["id"].ToString(); var id_masteruser = param["id_masteruser"].ToString(); var id_user = param["id_user"].ToString(); if (string.IsNullOrEmpty(id)) { result.Success = false; result.Message.Add("参数有误!"); return(result); } if (string.IsNullOrEmpty(id_masteruser) || string.IsNullOrEmpty(id_user)) { result.Success = false; result.Message.Add("请登录!"); return(result); } #endregion #region 更新数据 Hashtable ht = new Hashtable(); ht.Add("id", id); var brXsck = this.Get(ht); if (!brXsck.Success) { return(brXsck); } else { #region 校验商品合法性 Td_Xs_1_Query_DetailModel dbModel = (Td_Xs_1_Query_DetailModel)brXsck.Data; if (dbModel == null || dbModel.head == null || string.IsNullOrEmpty(dbModel.head.id)) { result.Success = false; result.Message.Add("获取销售订单信息不符合要求!"); return(result); } if (dbModel.body == null || dbModel.body.Count() <= 0) { result.Success = false; result.Message.Add("获取销售订单商品信息至少有一条数据!"); return(result); } ht.Clear(); ht.Add("id_masteruser", id_masteruser); ht.Add("id", dbModel.head.id_kh); var khList = DAL.QueryList <Tb_Kh>(typeof(Tb_Kh), ht); if (khList == null || khList.Count() <= 0) { result.Success = false; result.Message.Add("不存在此客户信息!"); return(result); } ht.Clear(); ht.Add("id_masteruser", id_masteruser); ht.Add("id_shop", dbModel.head.id_shop); var shopspList = DAL.QueryList <Tb_Shopsp>(typeof(Tb_Shopsp), ht); if (shopspList == null || shopspList.Count() <= 0) { result.Success = false; result.Message.Add("该门店下不存在商品!"); return(result); } var noShopspList = (from body in dbModel.body where shopspList.Count(d => d.id.ToString().Trim() == body.id_shopsp.ToString().Trim()) == 0 select body).ToList(); if (noShopspList != null && noShopspList.Count > 0) { result.Success = false; result.Message.Add(string.Format("过账失败,门店[{0}]不存在商品[{1}]", dbModel.head.shop_name, noShopspList.FirstOrDefault().shopsp_name)); throw new CySoftException(result); } var stopShopspList = (from body in dbModel.body where shopspList.Count(d => d.id.ToString().Trim() == body.id_shopsp.ToString().Trim() && d.flag_state == (byte)Enums.FlagShopspStop.Stoped) > 0 select body).ToList(); if (stopShopspList != null && stopShopspList.Count > 0) { result.Success = false; result.Message.Add(string.Format("过账失败,商品为[{0}]已停用!", stopShopspList.FirstOrDefault().shopsp_name)); throw new CySoftException(result); } var noSpflShopspList = (from body in dbModel.body where shopspList.Count(d => d.id.ToString().Trim() == body.id_shopsp.ToString().Trim() && d.id_spfl == "0") > 0 select body).ToList(); if (noSpflShopspList != null && noSpflShopspList.Count > 0) { result.Success = false; result.Message.Add(string.Format("过账失败,商品为[{0}]未设置分类", noSpflShopspList.FirstOrDefault().shopsp_name)); throw new CySoftException(result); } var noId_kcspShopspList = (from body in dbModel.body where shopspList.Count(d => d.id.ToString().Trim() == body.id_shopsp.ToString().Trim() && (d.id_kcsp == null || d.id_kcsp == "")) > 0 select body).ToList(); if (noId_kcspShopspList != null && noId_kcspShopspList.Count > 0) { result.Success = false; result.Message.Add(string.Format("过账失败,商品为[{0}] 库存ID 为空!", noId_kcspShopspList.FirstOrDefault().shopsp_name)); throw new CySoftException(result); } var noDwShopspList = (from body in dbModel.body where shopspList.Count(d => d.id.ToString().Trim() == body.id_shopsp.ToString().Trim() && (d.dw == null || d.dw == "")) > 0 select body).ToList(); if (noDwShopspList != null && noDwShopspList.Count > 0) { result.Success = false; result.Message.Add(string.Format("过账失败,商品为[{0}] 单位 为空!", noDwShopspList.FirstOrDefault().shopsp_name)); throw new CySoftException(result); } var noIdSpList = (from body in dbModel.body where shopspList.Count(d => d.id_sp.ToString().Trim() == body.id_sp.ToString().Trim()) == 0 select body).ToList(); if (noIdSpList != null && noIdSpList.Count > 0) { result.Success = false; result.Message.Add(string.Format("过账失败,门店[{0}]不存在商品[{1}]的id_sp", dbModel.head.shop_name, noIdSpList.FirstOrDefault().shopsp_name)); throw new CySoftException(result); } #endregion #region 执行存储过程并返回结果 ht.Clear(); ht.Add("proname", "p_xs_ck_sh"); ht.Add("errorid", "-1"); ht.Add("errormessage", "未知错误!"); ht.Add("id_bill", dbModel.head.id); ht.Add("id_user", id_user); DAL.RunProcedure(ht); if (!ht.ContainsKey("errorid") || !ht.ContainsKey("errormessage")) { result.Success = false; result.Message.Add("过账失败,执行审核出现异常!"); throw new CySoftException(result); } if (!string.IsNullOrEmpty(ht["errorid"].ToString()) || !string.IsNullOrEmpty(ht["errormessage"].ToString())) { result.Success = false; result.Message.Add(ht["errormessage"].ToString()); throw new CySoftException(result); } result.Success = true; result.Message.Add("过账成功,审核成功!"); return(result); #endregion } #endregion }
/// <summary> ///删除 /// </summary> /// <param name="param"></param> /// <returns></returns> public override BaseResult Delete(Hashtable param) { #region 参数验证 BaseResult result = new BaseResult() { Success = true }; if (param == null || param.Count < 2) { result.Success = false; result.Message.Add("参数有误!"); return(result); } var id = param["id"].ToString(); var id_masteruser = param["id_masteruser"].ToString(); if (string.IsNullOrEmpty(id)) { result.Success = false; result.Message.Add("参数有误!"); return(result); } if (string.IsNullOrEmpty(id_masteruser)) { result.Success = false; result.Message.Add("请登录!"); return(result); } #endregion #region 更新数据 Hashtable ht = new Hashtable(); ht.Add("id", id); var brXsck = this.Get(ht); if (!brXsck.Success) { return(brXsck); } else { Td_Xs_1_Query_DetailModel dbModel = (Td_Xs_1_Query_DetailModel)brXsck.Data; if (dbModel == null || dbModel.head == null || string.IsNullOrEmpty(dbModel.head.id)) { result.Success = false; result.Message.Add("获取销售订单信息不符合要求!"); return(result); } if (dbModel.head.flag_sh == (byte)Enums.FlagSh.HadSh) { result.Success = false; result.Message.Add("该单据已经审核,不允许删除!"); return(result); } ht.Clear(); ht.Add("id", id); ht.Add("id_masteruser", id_masteruser); ht.Add("flag_sh", (byte)Enums.FlagSh.UnSh); ht.Add("new_flag_delete", (int)Enums.FlagDelete.Deleted); try { if (DAL.UpdatePart(typeof(Td_Xs_1), ht) <= 0) { result.Success = false; result.Message.Add("删除操作失败!"); return(result); } } catch (Exception ex) { result.Success = false; result.Message.Add("删除操作异常!"); } return(result); } #endregion }
/// <summary> ///作废 目前不允许作废 /// </summary> /// <param name="param"></param> /// <returns></returns> public override BaseResult Stop(Hashtable param) { #region 参数验证 BaseResult result = new BaseResult() { Success = true }; if (param == null || param.Count < 3) { result.Success = false; result.Message.Add("参数有误!"); return(result); } var id = param["id"].ToString(); var id_masteruser = param["id_masteruser"].ToString(); var id_user = param["id_user"].ToString(); if (string.IsNullOrEmpty(id)) { result.Success = false; result.Message.Add("参数有误!"); return(result); } if (string.IsNullOrEmpty(id_masteruser) || string.IsNullOrEmpty(id_user)) { result.Success = false; result.Message.Add("请登录!"); return(result); } #endregion #region 更新数据 Hashtable ht = new Hashtable(); ht.Add("id", id); var brXsck = this.Get(ht); if (!brXsck.Success) { return(brXsck); } else { #region 校验商品合法性 Td_Xs_1_Query_DetailModel dbModel = (Td_Xs_1_Query_DetailModel)brXsck.Data; if (dbModel == null || dbModel.head == null || string.IsNullOrEmpty(dbModel.head.id)) { result.Success = false; result.Message.Add("获取销售订单信息不符合要求!"); return(result); } #endregion #region 执行存储过程并返回结果 ht.Clear(); ht.Add("proname", "p_xsck_zf"); ht.Add("errorid", "-1"); ht.Add("errormessage", "未知错误!"); ht.Add("id_bill", dbModel.head.id); ht.Add("id_user", id_user); DAL.RunProcedure(ht); if (!ht.ContainsKey("errorid") || !ht.ContainsKey("errormessage")) { result.Success = false; result.Message.Add("作废失败,返回参数出现异常!"); throw new CySoftException(result); } if (!string.IsNullOrEmpty(ht["errorid"].ToString()) || !string.IsNullOrEmpty(ht["errormessage"].ToString())) { result.Success = false; result.Message.Add(ht["errormessage"].ToString()); throw new CySoftException(result); } result.Success = true; result.Message.Add("作废操作成功!"); return(result); #endregion } #endregion }
public override BaseResult Update(dynamic entity) { #region 获取数据 Hashtable param = (Hashtable)entity; BaseResult br = new BaseResult(); Hashtable ht = new Hashtable(); var td_Xs_2_List = (List <Td_Xs_2>)param["shopspList"]; var digit = param["DigitHashtable"] as System.Collections.Hashtable;//小数点控制 if (!param.ContainsKey("id") || string.IsNullOrEmpty(param["id"].ToString())) { br.Message.Add(String.Format("操作失败 缺少必要参数!")); br.Success = false; return(br); } #region 检测此单号是否已经存在 ht.Clear(); ht.Add("id", (param["id"].ToString())); var brXs = this.Get(ht); if (!brXs.Success) { return(brXs); } Td_Xs_1_Query_DetailModel dbModel = (Td_Xs_1_Query_DetailModel)brXs.Data; if (dbModel == null || dbModel.head == null || string.IsNullOrEmpty(dbModel.head.id)) { br.Success = false; br.Message.Add("获取销售出库单信息不符合要求!"); return(br); } ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("dh", param["dh"].ToString()); ht.Add("not_id", param["id"].ToString()); if (DAL.GetCount(typeof(Td_Xs_1), ht) > 0) { br.Success = false; br.Message.Add("新单号已经重复,请核实!"); return(br); } ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("dh", param["dh"].ToString()); if (DAL.GetCount(typeof(Td_Sk_1), ht) > 0) { br.Success = false; br.Message.Add("此单号已经存在收款单中,请核实!"); return(br); } ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("dh", param["dh"].ToString()); if (DAL.GetCount(typeof(Td_Xs_Th_1), ht) > 0) { br.Success = false; br.Message.Add("此单号已经存在销售退货单中,请核实!"); return(br); } ht.Clear(); ht.Add("id_masteruser", param["id_masteruser"].ToString()); ht.Add("dh", param["dh"].ToString()); if (DAL.GetCount(typeof(Td_Xs_Dd_1), ht) > 0) { br.Success = false; br.Message.Add("此单号已经存在销售订单中,请核实!"); return(br); } if (NeedCheckXY_XS(dbModel.head.id_masteruser)) { if (dbModel.head.id_bill_origin.IsEmpty()) { var xyed = GetCanUseMoneyForKH(dbModel.head.id_masteruser, dbModel.head.id_shop, dbModel.head.id_kh, dbModel.head.id, Enums.Ps.XS020.ToString()); if (td_Xs_2_List.Sum(d => d.je) > xyed) { br.Success = false; br.Message.Add(string.Format("此单总金额超过可用信用额度[{0:F}]!", xyed)); return(br); } } else { var xyed = GetCanUseMoneyForKH(dbModel.head.id_masteruser, dbModel.head.id_shop, dbModel.head.id_kh, dbModel.head.id, Enums.Ps.XS020.ToString(), dbModel.head.id_bill_origin, dbModel.head.bm_djlx_origin); if (td_Xs_2_List.Sum(d => d.je) > xyed) { br.Success = false; br.Message.Add(string.Format("此单总金额超过可用信用额度[{0:F}]!", xyed)); return(br); } } } var shopModel = QueryShopById(dbModel.head.id_shop); if (shopModel == null || shopModel.id.IsEmpty()) { br.Success = false; br.Message.Add("该门店已停用或删除 请选择其他门店!"); return(br); } #endregion int xh = 1; foreach (var item in td_Xs_2_List) { item.id = Guid.NewGuid().ToString(); item.id_masteruser = param["id_masteruser"].ToString(); item.id_bill = param["id"].ToString(); item.sort_id = xh; item.rq_create = DateTime.Parse(param["rq"].ToString()); xh++; } #endregion #region 操作数据库 ht.Clear(); ht.Add("id", param["id"].ToString()); ht.Add("new_dh", param["dh"].ToString()); ht.Add("new_rq", DateTime.Parse(param["rq"].ToString())); ht.Add("new_id_shop", param["id_shop"].ToString()); ht.Add("new_id_kh", param["id_kh"].ToString()); ht.Add("new_id_jbr", param["id_jbr"].ToString()); ht.Add("new_bz", param["remark"].ToString()); ht.Add("new_je_mxtotal", td_Xs_2_List.Sum(d => d.je)); ht.Add("new_id_edit", param["id_user"].ToString()); ht.Add("new_rq_edit", DateTime.Now); ht.Add("new_id_bill_origin", param["id_bill_origin"].ToString()); ht.Add("new_dh_origin", param["dh_origin"].ToString()); ht.Add("new_bm_djlx_origin", param["bm_djlx_origin"].ToString()); ht.Add("new_je_ss", param["je_ss"].ToString()); DAL.UpdatePart(typeof(Td_Xs_1), ht); ht.Clear(); ht.Add("id_bill", param["id"].ToString()); DAL.Delete(typeof(Td_Xs_2), ht); DAL.AddRange <Td_Xs_2>(td_Xs_2_List); #endregion br.Message.Add(String.Format("操作成功!")); br.Success = true; br.Data = param["id"].ToString(); return(br); }