Exemple #1
0
        public string ruleID = string.Empty;//编码ID

        public CodingRule(SYSModel.DataSources.EnumProjectType enumProjectType)
        {
            string opName = "获取" + SYSModel.DataSources.GetDescription(enumProjectType) + "的编码生成规则";
            ruleID = Convert.ToInt16(enumProjectType).ToString();
            string where = string.Format("bill_code_rule_id='{0}'", ruleID);
            DataTable dt = DBHelper.GetTable("",GlobalStaticObj_Server.DbPrefix+ GlobalStaticObj_Server.Instance.MainAccCode, "sys_bill_code_rule", "*", where, "", "");
            string billCode = dt.Rows[0]["bill_code"].ToString();
            string codeMethod = dt.Rows[0]["code_method"].ToString();
            string delimiter = dt.Rows[0]["delimiter"].ToString();
            startNum = dt.Rows[0]["start_num"].ToString();
            lastBillNo = dt.Rows[0]["last_bill_no"].ToString();

            newPrefix = GetPrefix(billCode, codeMethod, delimiter);
        }
        /// <summary>  获取新项目编码
        /// </summary>
        /// <param name="opName">操作名称</param>
        /// <param name="startStr">单据前缀</param>
        /// <param name="tableName">表名</param>
        /// <param name="field">字段</param>
        /// <returns></returns>
        public static string GetNewNo(SYSModel.DataSources.EnumProjectType enumProjectType)
        {
            string opName = "获取" + SYSModel.DataSources.GetDescription(enumProjectType) + "的编码生成规则";
            string ruleID = Convert.ToInt16(enumProjectType).ToString();
            string where = string.Format("bill_code_rule_id='{0}'", ruleID);
            DataTable dt = DBHelper.GetTable("", GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode, "sys_bill_code_rule", "*", where, "", "");
            string billCode = dt.Rows[0]["bill_code"].ToString();
            string codeMethod = dt.Rows[0]["code_method"].ToString();
            string delimiter = dt.Rows[0]["delimiter"].ToString();
            string startNum = dt.Rows[0]["start_num"].ToString();
            string lastBillNo = dt.Rows[0]["last_bill_no"].ToString();

            string newBillNo = string.Empty;
            string newPrefix = GetPrefix(billCode, codeMethod, delimiter);
            if (string.IsNullOrEmpty(lastBillNo))
            {
                newBillNo = newPrefix + startNum;
            }
            else
            {
                string oldPrefix = lastBillNo.Substring(0, newPrefix.Length);
                if (newPrefix != oldPrefix)
                {
                    newBillNo = newPrefix + startNum;
                }
                else
                {
                    string newNum = (Convert.ToInt32(lastBillNo.Replace(oldPrefix, "")) + 1).ToString().PadLeft(startNum.Length, '0');
                    newBillNo = newPrefix + newNum;
                }
            }
            Dictionary<string, string> dicValue = new Dictionary<string, string>();
            dicValue.Add("last_bill_no", newBillNo);
            bool flag = DBHelper.Submit_AddOrEdit("", GlobalStaticObj_Server.DbPrefix + GlobalStaticObj_Server.CommAccCode, "sys_bill_code_rule", "bill_code_rule_id", ruleID, dicValue);
            if (!flag)
            {
                throw new Exception("获取新项目编码失败");
            }
            return newBillNo;
        }
        /// <summary> 根据EnumWebServFunName枚举,调用WebService方法名称
        /// </summary>
        /// <param name="funcName">WebService方法名称</param>
        /// <param name="funcObject">WebService参数对象</param>
        /// <returns>返回约定内容</returns>
        public static SYSModel.RespFunStruct WebServHandler(SYSModel.EnumWebServFunName enumFunName, object funcObject)
        {
            SYSModel.RespFunStruct resp = new SYSModel.RespFunStruct();
            string msg = string.Empty;//错误消息
            switch (enumFunName)
            {
                #region 基础数据
                case SYSModel.EnumWebServFunName.UpLoadCcontact:
                    {
                        tb_contacts_ex model = Newtonsoft.Json.JsonConvert.DeserializeObject<tb_contacts_ex>(funcObject.ToString());
                        string result = WebServ_YT_BasicData.UpLoadCcontact(model);
                        resp = HandleErr(string.IsNullOrEmpty(result) ? "1" : "0", result);
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpLoadCustomer:
                    {
                        tb_customer model = Newtonsoft.Json.JsonConvert.DeserializeObject<tb_customer>(funcObject.ToString());
                        string result = WebServ_YT_BasicData.UpLoadCustomer(model);
                        resp = HandleErr(string.IsNullOrEmpty(result) ? "1" : "0", result);
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpLoadSercicePartStock:
                    {
                        Dictionary<string, int> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, int>>(funcObject.ToString());
                        bool flag = WebServ_YT_BasicData.UpLoadSercicePartStock(dic);
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.SearchContact:
                    {
                        DataTable dt = WebServ_YT_BasicData.SearchContact();
                        if (dt == null || dt.Rows.Count == 0)
                        {
                            resp.IsSuccess = "0";
                        }
                        else
                        {
                            resp.IsSuccess = "1";
                        }
                        resp.Msg = "";
                        resp.ReturnObject = Newtonsoft.Json.JsonConvert.SerializeObject(dt);
                        break;
                    }
                #endregion
                #region 业务数据
                case SYSModel.EnumWebServFunName.UpLoadPartSale:
                    {
                        bool flag = WebServ_YT_BusiData.UpLoadPartSale(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpLoadServiceOrder:
                    {
                        bool flag = WebServ_YT_BusiData.UpLoadServiceOrder(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpLoadRepairBill:
                    {
                        bool flag = WebServ_YT_BusiData.UpLoadRepairBill(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpLoadPartPurchase:
                    {
                        bool flag = WebServ_YT_BusiData.UpLoadPartPurchase(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpLoadPartPutStore:
                    {
                        bool flag = WebServ_YT_BusiData.UpLoadPartPutStore(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.LoadOrderStatus:
                    {
                        bool flag = WebServ_YT_BusiData.LoadOrderStatus(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.LoadPartInStore:
                    {
                        bool flag = WebServ_YT_BusiData.LoadPartInStore(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.LoadPartPurchaseStauts:
                    {
                        bool flag = WebServ_YT_BusiData.LoadPartPurchaseStauts(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.LoadStoreCenter:
                    {
                        bool flag = WebServ_YT_BusiData.LoadStoreCenter(funcObject.ToString());
                        resp = HandleErr(flag ?"1":"0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.QuerySettleAccounts:
                    {
                        bool flag = WebServ_YT_BusiData.QuerySettleAccounts(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.LoadServiceSettleStatus:
                    {
                        bool flag = WebServ_YT_BusiData.LoadServiceSettleStatus(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpPartReturnCreate:
                    {
                        bool flag = WebServ_YT_BusiData.UpPartReturnCreate(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.LoadPartRetureStatus:
                    {
                        bool flag = WebServ_YT_BusiData.LoadPartRetureStatus(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case SYSModel.EnumWebServFunName.UpPartRetureUpdate:
                    {
                        bool flag = WebServ_YT_BusiData.UpPartRetureUpdate(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                case EnumWebServFunName.SearchOrderStatus:
                    {
                        string status = WebServ_YT_BusiData.SearchOrderStatus(funcObject.ToString());
                        resp = HandleErr(string.IsNullOrEmpty(status) ? "0" : "1", status);
                        break;
                    }
                case EnumWebServFunName.UpLoadServiceSettleStatus:
                    {
                        bool flag = WebServ_YT_BusiData.UpLoadServiceSettleStatus(funcObject.ToString());
                        resp = HandleErr(flag ? "1" : "0", flag.ToString());
                        break;
                    }
                #endregion
                default:
                    {
                        resp.IsSuccess = "0";
                        resp.Msg = "找不到对应的Wcf方法";
                        break;
                    }
            }

            return resp;
        }
Exemple #4
0
 /// <summary>调用webService方法
 /// </summary>
 /// <param name="opName">操作名</param>
 /// <param name="enumFuncName">调用webService方法的枚举</param>
 /// <param name="webServFuncObj">调用Webservice传递对象,参考枚举描述</param>
 /// <returns>调用服务返回的对象,如果为空,怎调用失败</returns>
 public static string WebServHandlerByObj(string opName, SYSModel.EnumWebServFunName enumFuncName, object webServFuncObj)
 {
     RespFunStruct resp = WebServHandlerByFun(opName, enumFuncName, webServFuncObj);
     if (resp.IsSuccess == "0")
     {
         return null;
     }
     return resp.ReturnObject;
 }
Exemple #5
0
        /// <summary> 调用webService方法
        /// </summary>
        /// <param name="funcName">调用webService方法的枚举</param>
        /// <param name="funcObject">调用Webservice传递对象,参考枚举描述</param>
        /// <returns>返回错信息,如果错误信息为空则为执行成功</returns>
        public static RespFunStruct WebServHandlerByFun(string opName, SYSModel.EnumWebServFunName enumFuncName, object webServFuncObj)
        {
            ReqeFunStruct_WebServ reqeFunStruct = new ReqeFunStruct_WebServ();
            reqeFunStruct.FunName = enumFuncName;
            reqeFunStruct.AccCode = GlobalStaticObj.CurrAccCode;
            reqeFunStruct.userIDOP.UserID = GlobalStaticObj.UserID;
            reqeFunStruct.userIDOP.OPName = opName;
            reqeFunStruct.PCClientCookieStr = GlobalStaticObj.CookieStr;
            reqeFunStruct.FunObject = webServFuncObj;

            string jsonStr = HXCCommon.DotNetEncrypt.DESEncrypt.Encrypt(Newtonsoft.Json.JsonConvert.SerializeObject(reqeFunStruct));
            if (!WCFClientProxy.TestDataProxy())
            {
                throw new Exception("未能建立同服务器连接!");
            }
            RespFunStruct resp = new RespFunStruct();
            try
            {
                string resultStr = GlobalStaticObj.proxy.HandleWebServ(jsonStr);
                if (string.IsNullOrEmpty(resultStr))
                {
                    throw new Exception("调用webservice失败!");
                }
                string Str = HXCCommon.DotNetEncrypt.DESEncrypt.Decrypt(resultStr);
                resp = JsonConvert.DeserializeObject<RespFunStruct>(Str);
                return resp;
            }
            catch (TimeoutException te)
            {
                WebServiceLogService.WriteLog(te);
                resp.IsSuccess = "0";
                resp.Msg = "操作超时";
            }
            catch (Exception e)
            {
                WebServiceLogService.WriteLog(e);
                resp.IsSuccess = "0";
                resp.Msg = "调用webservice出错!";
            }
            return resp;
        }
Exemple #6
0
 /// <summary> 获取编码方式
 /// </summary>
 /// <param name="enumBillCodeMethod">枚举:编码方式</param>
 /// <returns>返回编码方式串</returns>
 private string GetStrByCodeMethod(SYSModel.DataSources.EnumBillCodeMethod enumBillCodeMethod)
 {
     if (enumBillCodeMethod == SYSModel.DataSources.EnumBillCodeMethod.NONE)
     {
         return "";
     }
     if (enumBillCodeMethod == SYSModel.DataSources.EnumBillCodeMethod.MMDDHH)
     {
         return GlobalStaticObj_Server.Instance.CurrentDateTime.ToString("MMddhh");
     }
     if (enumBillCodeMethod == SYSModel.DataSources.EnumBillCodeMethod.YYYYMMDD)
     {
         return GlobalStaticObj_Server.Instance.CurrentDateTime.ToString("yyyyMMdd");
     }
     return "";
 }