Beispiel #1
0
        /// <summary>
        /// 替换订单标签
        /// </summary>
        /// <param name="row"></param>
        /// <param name="item"></param>
        /// <param name="index"></param>
        private void ReplaceOrderKey(XWPFTableRow row, CrmOrderEntity item, int index)
        {
            foreach (var cell in row.GetTableCells())
            {
                var text = cell.GetText().Trim();
                switch (text)
                {
                case "金额合计(大写):{allTotalPriceBig}":
                    text = text.Replace("{allTotalPriceBig}", item.TotlaPrice.ToString("N2").MoneyToChinese());
                    break;

                case "小写金额:{allTotalPriceSmall}":
                    text = text.Replace("{allTotalPriceSmall}", item.TotlaPrice.ToString("N2"));
                    break;

                case "{index}":
                    text = text.Replace(text, index.ToString());
                    break;

                case "{productId}":
                    text = text.Replace(text, "运费");
                    break;

                case "{totalPrice}":
                    text = text.Replace(text, item.FreightPrice.ToString("N2"));
                    break;

                case "{productFullName}":
                case "{unit}":
                case "{count}":
                case "{singlePrice}":
                case "{remark}":
                    text = text.Replace(text, "");
                    break;
                }

                // 为保留模板的格式
                foreach (var para in cell.Paragraphs)
                {
                    for (var i = 0; i < para.Runs.Count; i++)
                    {
                        para.Runs[i].SetText(i == para.Runs.Count - 1 ? text : "", 0);
                    }
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// 添加订单
        /// </summary>
        /// <param name="order"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public bool AddCrmOrder(CrmOrderEntity order, List <CrmOrderItemEntity> items)
        {
            var db = GetInstance();
            var r  = db.Ado.UseTran(() =>
            {
                var orderId = db.Insertable(order).ExecuteReturnIdentity();
                if (orderId > 0)
                {
                    foreach (var item in items)
                    {
                        item.OrderId = orderId;
                    }
                    db.Insertable(items).ExecuteCommand();   //添加订单详情
                }
                return(orderId > 0);
            });

            return(r.IsSuccess);
        }
Beispiel #3
0
        /// <summary>
        /// 修改订单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool ModifyCrmOrder(CrmOrderEntity model)
        {
            switch (model.Status)
            {
            case (int)CrmOrderStatusEnum.Paid:
                model.PaymentTime = DateTime.Now;
                break;

            case (int)CrmOrderStatusEnum.Shipped:
                model.ConsignTime = DateTime.Now;
                break;

            case (int)CrmOrderStatusEnum.Success:
                model.EndTime = DateTime.Now;
                break;

            default:
                model.CloseTime = DateTime.Now;
                break;
            }
            return(_service.Update(model));
        }
Beispiel #4
0
 public ActionResult <object> ModifyCrmOrder([FromForm] CrmOrderEntity model)
 {
     return(_repository.ModifyCrmOrder(model).ResponseSuccessFailure());
 }
Beispiel #5
0
        /// <summary>
        /// 替换公司和客户标签
        /// </summary>
        /// <param name="row"></param>
        /// <param name="item"></param>
        /// <param name="client"></param>
        private void ReplaceClientCompanyKey(XWPFTableRow row, CrmOrderEntity item, CrmClientEntity client)
        {
            foreach (var cell in row.GetTableCells())
            {
                var text = cell.GetText().Trim();
                if (text.IsNullOrWhiteSpace())
                {
                    continue;
                }
                switch (text)
                {
                case "{Company:Name}":
                    text = text.Replace(text, AppSettingsHelper.GetString("Company:Name"));
                    break;

                case "{Company:Address}":
                    text = text.Replace(text, AppSettingsHelper.GetString("Company:Address"));
                    break;

                case "{Company:Tel}":
                    text = text.Replace(text, AppSettingsHelper.GetString("Company:Tel"));
                    break;

                case "制单人:{Company: Lister}":
                    text = text.Replace("{Company: Lister}", AppSettingsHelper.GetString("Company:Lister"));
                    break;

                case "NO. {dateTime}":
                case "发货日期:{dateTime}":
                    text = text.Replace("{dateTime}", DateTime.Today.ToString("yyyy-MM-dd"));
                    break;

                case "客户名称:{clientName}":
                    text = text.Replace("{clientName}", client.ClientName);
                    break;

                case "联系人:{clientRealName}":
                    text = text.Replace("{clientRealName}", client.RealName ?? client.ClientName);
                    break;

                case "客户地址:{clientAddress}":
                    var addr = Regex.Replace(item.FullAddress, @"[1]+\d{10}", ""); //手机
                    addr = Regex.Replace(addr, @"(\d{3,4}-)?\d{6,8}$", "");        //座机
                    text = text.Replace("{clientAddress}", addr.Replace(" ", ""));
                    break;

                case "电话:{clientTel}":
                    var tel = Regex.Match(item.FullAddress, @"[1]+\d{10}").Value;           //手机
                    if (tel.IsNullOrWhiteSpace())
                    {
                        tel = Regex.Match(item.FullAddress, @"(\d{3,4}-)?\d{6,8}$").Value;         //座机
                    }
                    text = text.Replace("{clientTel}", tel);
                    break;
                }

                // 为保留模板的格式
                foreach (var para in cell.Paragraphs)
                {
                    for (var i = 0; i < para.Runs.Count; i++)
                    {
                        para.Runs[i].SetText(i == para.Runs.Count - 1 ? text : "", 0);
                    }
                }
            }
        }