コード例 #1
0
ファイル: Td_Xs_1BLL.cs プロジェクト: 17/YunPos
        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);
        }
コード例 #2
0
ファイル: Td_Xs_1BLL.cs プロジェクト: 17/YunPos
        /// <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
        }
コード例 #3
0
ファイル: Td_Xs_1BLL.cs プロジェクト: 17/YunPos
        /// <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
        }
コード例 #4
0
ファイル: Td_Xs_1BLL.cs プロジェクト: 17/YunPos
        /// <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
        }
コード例 #5
0
ファイル: Td_Xs_1BLL.cs プロジェクト: 17/YunPos
        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);
        }