Пример #1
0
        public override BaseResult Get(Hashtable param)
        {
            BaseResult res = new BaseResult()
            {
                Success = true
            };

            try
            {
                Td_Xs_Dd_1_Query_DetailModel result = new Td_Xs_Dd_1_Query_DetailModel();
                var head = DAL.GetItem <Td_Xs_Dd_1_QueryModel>(typeof(Td_Xs_Dd_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_Dd_2_QueryModel>(typeof(Td_Xs_Dd_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);
        }
Пример #2
0
        /// <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 brXs = this.Get(ht);
            if (!brXs.Success)
            {
                return(brXs);
            }
            else
            {
                #region 校验商品合法性
                Td_Xs_Dd_1_Query_DetailModel dbModel = (Td_Xs_Dd_1_Query_DetailModel)brXs.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_xs_dd_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
        }
Пример #3
0
        public override BaseResult Update(dynamic entity)
        {
            #region 获取数据
            Hashtable  param           = (Hashtable)entity;
            BaseResult br              = new BaseResult();
            Hashtable  ht              = new Hashtable();
            var        td_Xs_Dd_2_List = (List <Td_Xs_Dd_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_Dd_1_Query_DetailModel dbModel = (Td_Xs_Dd_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", param["id"].ToString());
            if (DAL.GetCount(typeof(Td_Xs_Dd_1), ht) <= 0)
            {
                br.Success = false;
                br.Message.Add("未查询到此id订单,请重试!");
                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_Dd_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_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);
            }

            if (NeedCheckXY_XS(dbModel.head.id_masteruser))
            {
                var xyed = GetCanUseMoneyForKH(dbModel.head.id_masteruser, dbModel.head.id_shop, dbModel.head.id_kh, dbModel.head.id, Enums.Ps.XS010.ToString());
                if (td_Xs_Dd_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_Dd_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_rq_jh", DateTime.Now.AddYears(1));
            ht.Add("new_id_shop", param["id_shop"].ToString());
            ht.Add("new_flag_ddlx", param["flag_ddlx"].ToString());
            ht.Add("new_flag_dhtype", param["flag_dhtype"].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_Dd_2_List.Sum(d => d.je));
            ht.Add("new_id_edit", param["id_user"].ToString());
            ht.Add("new_rq_edit", DateTime.Now);


            DAL.UpdatePart(typeof(Td_Xs_Dd_1), ht);

            ht.Clear();
            ht.Add("id_bill", param["id"].ToString());
            DAL.Delete(typeof(Td_Xs_Dd_2), ht);
            DAL.AddRange <Td_Xs_Dd_2>(td_Xs_Dd_2_List);
            #endregion
            br.Message.Add(String.Format("操作成功!"));
            br.Success = true;
            br.Data    = param["id"].ToString();
            return(br);
        }
Пример #4
0
        /// <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 brXs = this.Get(ht);
            if (!brXs.Success)
            {
                return(brXs);
            }
            else
            {
                Td_Xs_Dd_1_Query_DetailModel dbModel = (Td_Xs_Dd_1_Query_DetailModel)brXs.Data;
                if (dbModel == null || dbModel.head == null || string.IsNullOrEmpty(dbModel.head.id) || dbModel.body == null || dbModel.body.Count() <= 0)
                {
                    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_Dd_1), ht) <= 0)
                    {
                        result.Success = false;
                        result.Message.Add("删除操作失败!");
                        return(result);
                    }
                }
                catch (Exception ex)
                {
                    result.Success = false;
                    result.Message.Add("删除操作异常!");
                }
                #endregion
                return(result);
            }
        }
Пример #5
0
        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 brXs = this.Get(ht);
            if (!brXs.Success)
            {
                return(brXs);
            }
            else
            {
                #region 校验商品合法性
                Td_Xs_Dd_1_Query_DetailModel dbModel = (Td_Xs_Dd_1_Query_DetailModel)brXs.Data;
                if (dbModel == null || dbModel.head == null || string.IsNullOrEmpty(dbModel.head.id) || 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_shop);
                var tb_shop = DAL.GetItem <Tb_Shop>(typeof(Tb_Shop), ht);
                if (tb_shop == null || string.IsNullOrEmpty(tb_shop.id))
                {
                    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)
                {
                    ht.Clear();
                    ht.Add("id_masteruser", id_masteruser);
                    ht.Add("id", noShopspList.FirstOrDefault().id_shopsp);
                    var sp = DAL.GetItem <Tb_Shopsp>(typeof(Tb_Shopsp), ht);

                    result.Success = false;
                    if (sp != null && !string.IsNullOrEmpty(sp.id))
                    {
                        result.Message.Add(string.Format("审核失败,门店[{0}]不存在商品[{1}]", tb_shop.mc, sp.bm));
                    }
                    else
                    {
                        result.Message.Add(string.Format("审核失败,门店[{0}]不存在商品[{1}]", tb_shop.mc, noShopspList.FirstOrDefault().id_shopsp));
                    }
                    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}]已停用!", shopspList.Where(d => d.id == stopShopspList.FirstOrDefault().id_shopsp).FirstOrDefault().bm));
                    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}]未设置分类", shopspList.Where(d => d.id == noSpflShopspList.FirstOrDefault().id_shopsp).FirstOrDefault().bm));
                    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 为空!", shopspList.Where(d => d.id == noId_kcspShopspList.FirstOrDefault().id_shopsp).FirstOrDefault().bm));
                    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}] 单位 为空!", shopspList.Where(d => d.id == noDwShopspList.FirstOrDefault().id_shopsp).FirstOrDefault().bm));
                    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_dd_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
        }