示例#1
0
 public OrderSlaveQuery GetOrderDatePay(OrderSlaveQuery query)
 {
     try
     {
         return _orderSlaveDao.GetOrderDatePay(query);
     }
     catch (Exception ex)
     {
         throw new Exception("OrderSlaveMgr-->GetOrderDatePay-->" + ex.Message, ex);
     }
 }
示例#2
0
 public List<OrderSlaveQuery> GetVendorWaitDeliver(OrderSlaveQuery store, string str, out int totalCount) 
 {
     try
     {
         return _orderSlaveDao.GetVendorWaitDeliver(store,str,out totalCount);
     }
     catch (Exception ex)
     {
         throw new Exception("OrderSlaveMgr-->GetVendorWaitDeliver-->" + ex.Message, ex);
     }
 }
示例#3
0
        /// <summary>
        /// 出貨管理>供應商出貨單>待出貨訂單
        /// </summary>
        /// <param name="query">實體</param>
        /// <param name="str">拼接的SQL語句 查詢條件</param>
        /// <param name="totalCount">分頁顯示</param>
        /// <returns></returns>
        public List<OrderSlaveQuery> GetOrderWaitDeliver(OrderSlaveQuery query, string str, out int totalCount)
        {
            StringBuilder sqlColumn = new StringBuilder();
            StringBuilder sqlTable = new StringBuilder();
            StringBuilder sqlCondition = new StringBuilder();
            StringBuilder sqlSort = new StringBuilder();

            totalCount = 0;
            try
            {
                sqlColumn.AppendLine(@"SELECT	os.order_id,v.vendor_name_simple,om.order_name, om.delivery_name,FROM_UNIXTIME(om.order_date_pay) as order_date_pay,");
                sqlColumn.AppendLine(@" v.dispatch,om.note_order ,om.delivery_mobile, order_payment,om.order_mobile,v.vendor_id, ");
                sqlColumn.AppendLine(@" om.delivery_zip,om.delivery_address,om.note_order ");
                sqlTable.AppendLine(@" from order_slave os ");
                sqlTable.AppendLine(@" inner join order_master om on os.order_id = om.order_id inner join vendor v on os.vendor_id = v.vendor_id ");
                sqlCondition.AppendLine(@" where 1=1 AND v.assist = 1 	 AND	os.slave_status = '2' ");
                if (!string.IsNullOrEmpty(str))
                {
                    sqlCondition.Append(str);
                }
                if (query.IsPage)
                {
                    string sql = "select count(os.order_id) as total_count " + sqlTable.ToString() + sqlCondition.ToString();
                    System.Data.DataTable _dt = _dbAccess.getDataTable(sql);
                    if (_dt != null && _dt.Rows.Count > 0)
                    {
                        totalCount = int.Parse(_dt.Rows[0]["total_count"].ToString());
                    }
                    sqlSort.AppendLine(@"ORDER BY order_createdate DESC  ");
                    sqlSort.AppendFormat(" limit {0},{1};", query.Start, query.Limit);
                }
                else
                {
                    sqlSort.AppendLine(@"ORDER BY order_createdate DESC  ");
                }
                string sqlstr = sqlColumn.ToString() + sqlTable.ToString() + sqlCondition.ToString() + sqlSort.ToString();
                return _dbAccess.getDataTableForObj<OrderSlaveQuery>(sqlstr);
            }
            catch (Exception ex)
            {
                throw new Exception("OrderSlaveDao-->GetOrderWaitDeliver-->" + ex.Message + sqlColumn.ToString() + sqlTable.ToString() + sqlCondition.ToString() + sqlSort.ToString(), ex);
            }
        }
示例#4
0
 public string UpOrderSlave(OrderSlaveQuery query)
 {
     StringBuilder sql = new StringBuilder();
     try
     {
         sql.AppendFormat("update order_slave set  slave_status where slave_id='{0}';", query.Slave_Id);
         return sql.ToString();
     }
     catch (Exception ex)
     {
         throw new Exception("OrderMasterDao-->UpOrderSlave-->" + sql.ToString() + ex.Message, ex);
     }
 }
        /// <summary>
        /// 匯出供應商出貨單
        /// </summary>
        public void OrderWaitDeliverExport()
        {
            string json = string.Empty;
            StringBuilder sb = new StringBuilder();
            try
            {
                #region 前提查詢條件

                string type = Request.Params["search_type"];
                if (!string.IsNullOrEmpty(type.Trim()) && !type.Equals("null"))//查詢條件 || 
                {

                    int search_type = int.Parse(Request.Params["search_type"]);
                    string searchcontent = "";
                    if (!string.IsNullOrEmpty(Request.Params["search_type"]))
                    {
                        searchcontent = Request.Params["searchcontent"];
                    }
                    switch (search_type)
                    {
                        case 1:
                            sb.AppendFormat(" and om.order_id LIKE '%{0}%' ", searchcontent);
                            break;
                        case 2:
                            sb.AppendFormat(" AND om.order_name LIKE '%{0}%' ", searchcontent);
                            break;
                        case 3:
                            sb.AppendFormat(" AND u.user_email LIKE '%{0}%' ", searchcontent);
                            break;
                        case 4:
                            sb.AppendFormat(" AND om.delivery_name LIKE '%{0}%' ", searchcontent);
                            break;
                        case 5:
                            sb.AppendFormat(" AND om.source_trace LIKE '%{0}%' ", searchcontent);
                            break;
                        default:
                            sb.Append(" ");
                            break;
                    }
                }
                type = Request.Params["search_vendor"];
                if (!string.IsNullOrEmpty(Request.Params["search_vendor"]) && !type.Equals("null"))//供應商條件
                {
                    if (int.Parse(Request.Params["search_vendor"]) != 0)
                    {
                        sb.AppendFormat("  AND os.vendor_id = '{0}' ", Request.Params["search_vendor"]);
                    }
                }
                #endregion
                string fileName = "order_deliver" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv";
                List<OrderSlaveQuery> store = new List<OrderSlaveQuery>();
                DataTable _dtZip = new DataTable();
                _zipMgr = new ZipMgr(mySqlConnectionString);
                _dtZip = _zipMgr.ZipTable(null, null);
                OrderSlaveQuery query = new OrderSlaveQuery();
                int totalCount = 0;
                _IOrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);
                query.IsPage = false;
                store = _IOrderSlaveMgr.GetOrderWaitDeliver(query, sb.ToString(), out totalCount);//匯出出供應商出貨單
                DataTable dtHZ = new DataTable();
                string newExcelName = string.Empty;
                dtHZ.Columns.Add("付款單號", typeof(String));
                dtHZ.Columns.Add("轉單時間", typeof(String));
                dtHZ.Columns.Add("供應商", typeof(String));
                dtHZ.Columns.Add("收貨人", typeof(String));
                // dtHZ.Columns.Add("收貨人手機", typeof(String));
                //dtHZ.Columns.Add("收貨人地址", typeof(String));
                dtHZ.Columns.Add("備註", typeof(String));

                for (int i = 0; i < store.Count; i++)
                {
                    DataRow dr = dtHZ.NewRow();
                    dr[0] = store[i].order_id;
                    dr[1] = store[i].order_date_pay;
                    dr[2] = store[i].vendor_name_simple;
                    dr[3] = store[i].delivery_name;
                    //dr[4] = store[i].delivery_mobile;
                    //DataRow[] rows = _dtZip.Select("zipcode='" + store[i].delivery_zip + "'");
                    //StringBuilder sbaddress = new StringBuilder();
                    //if (rows.Count() != 0)
                    //{
                    //    dr[5] = sbaddress.Append(rows[0]["middle"].ToString() + rows[0]["small"].ToString());
                    //}
                    //sbaddress.Append(store[i].delivery_address);
                    //string address = sbaddress.ToString();
                    //address = address.Replace(',', ',');
                    //address = address.Replace("\n", "");
                    //dr[5] = address;
                    store[i].note_order = store[i].note_order.Replace(',', ',');
                    store[i].note_order = store[i].note_order.Replace("\n", "");
                    dr[4] = store[i].note_order;
                    dtHZ.Rows.Add(dr);
                }

                if (!System.IO.Directory.Exists(Server.MapPath(excelPath)))
                {
                    System.IO.Directory.CreateDirectory(Server.MapPath(excelPath));
                }
                string newName = string.Empty;
                newName = Server.MapPath(excelPath) + fileName;

                if (System.IO.File.Exists(newName))
                {
                    //設置文件的屬性,以防刪除文件的時候因為文件的屬性造成無法刪除
                    System.IO.File.SetAttributes(newName, FileAttributes.Normal);
                    System.IO.File.Delete(newName);
                }
                StringWriter sw = ExcelHelperXhf.SetCsvFromData(dtHZ, fileName);
                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
                Response.ContentType = "application/ms-excel";
                Response.ContentEncoding = Encoding.Default;
                Response.Write(sw);
                Response.End();


                //StringWriter sw = ExcelHelperXhf.SetCsvFromData(dtHZ, fileName);
                //Response.Clear();
                //Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName));
                //Response.ContentType = "application/ms-excel";
                //Response.ContentEncoding = Encoding.Default;
                //Response.Write(sw);
                //Response.End();

                //MemoryStream ms = ExcelHelperXhf.ExportDT(dtHZ, "order_deliver" + "_" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
                //Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
                //Response.BinaryWrite(ms.ToArray());
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "{success:false,data:[]}";
            }
            //this.Response.Clear();
            //this.Response.Write(jsonStr.ToString());
            //this.Response.End();
            //return this.Response;
        }
        /// <summary>
        /// 供應商出貨單
        /// </summary>
        /// <returns></returns>
        public HttpResponseBase OrderWaitDeliverList()
        {
            string jsonStr = String.Empty;
            StringBuilder sb = new StringBuilder();
            HashEncrypt hmd5 = new HashEncrypt();
            _IOrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);
            _OrderPaymentNcccMgr = new OrderPaymentNcccMgr(mySqlConnectionString);
            _SinopacMgr = new SinopacDetailMgr(mySqlConnectionString);
            _vendorImp = new VendorMgr(mySqlConnectionString);
            try
            {
                #region 前提查詢條件
                if (!string.IsNullOrEmpty(Request.Params["search_type"]))//查詢條件
                {
                    int search_type = int.Parse(Request.Params["search_type"]);
                    string searchcontent = "";
                    if (!string.IsNullOrEmpty(Request.Params["searchcontent"]))
                    {
                        searchcontent = Request.Params["searchcontent"];
                    }
                    switch (search_type)
                    {
                        case 1:
                            sb.AppendFormat(" and om.order_id LIKE '%{0}%' ", searchcontent);
                            break;
                        case 2:
                            sb.AppendFormat(" AND om.order_name LIKE '%{0}%' ", searchcontent);
                            break;
                        case 3:
                            sb.AppendFormat(" AND u.user_email LIKE '%{0}%' ", searchcontent);
                            break;
                        case 4:
                            sb.AppendFormat(" AND om.delivery_name LIKE '%{0}%' ", searchcontent);
                            break;
                        case 5:
                            sb.AppendFormat(" AND om.source_trace LIKE '%{0}%' ", searchcontent);
                            break;
                        default:
                            sb.Append(" ");
                            break;
                    }
                }
                if (!string.IsNullOrEmpty(Request.Params["search_vendor"]))//供應商條件
                {
                    if (int.Parse(Request.Params["search_vendor"]) != 0)
                    {
                        sb.AppendFormat("  AND os.vendor_id = '{0}' ", Request.Params["search_vendor"]);
                    }
                }
                #endregion
                List<OrderSlaveQuery> store = new List<OrderSlaveQuery>();
                OrderSlaveQuery query = new OrderSlaveQuery();
                query.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
                query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量

                int totalCount = 0;
                store = _IOrderSlaveMgr.GetOrderWaitDeliver(query, sb.ToString(), out totalCount);//查询出供應商出貨單

                int vendor_id = 0;
                string loginIdStr = string.Empty;
                string mdlogin_id = string.Empty;

                StringBuilder Order_id_store = new StringBuilder();
                foreach (var item in store)
                {
                    Order_id_store.AppendFormat("{0},", item.order_id);
                }
                string dtSql = "and order_id in(" + Order_id_store.ToString().TrimEnd(',') + ") ";//去查詢DataTable
                DataTable _dtNccc = _OrderPaymentNcccMgr.OrderPaymentNccc(null, dtSql);
                DataTable _dtSino = _SinopacMgr.GetSinopacDetai(null, dtSql);
                // String Sql = "123"; 
                foreach (var item in store)
                {
                    //組裝用於登錄到供應商後臺的金鑰
                    vendor_id = Convert.ToInt32(item.vendor_id);
                    loginIdStr = _vendorImp.GetLoginId(vendor_id);
                    mdlogin_id = hmd5.Md5Encrypt(loginIdStr, "MD5");
                    //http://localhost:32088/?vendor_id=2&key=f32bef1b57de24330d8bf900cee4ba5e
                    item.key = vendorServerPath + "?vendor_id=" + item.vendor_id + "&key=" + hmd5.Md5Encrypt(mdlogin_id + loginIdStr, "MD5");

                    item.status = "待出貨";
                    if (item.order_payment == 1)//付款方式为ATM
                    {
                        DataRow[] rows = _dtSino.Select("order_id='" + item.order_id + "'");
                        if (rows.Count() != 0)
                        {
                            item.pay_time = DateTime.Parse(rows[0]["pay_time"].ToString()).ToString("yyyy/MM/dd HH:mm:ss");
                        }
                        else { item.pay_time = ""; }
                    }
                    else
                    {
                        DataRow[] rows = _dtNccc.Select("order_id='" + item.order_id + "'");
                        if (rows.Count() != 0)
                        {
                            item.pay_time = DateTime.Parse(rows[0]["pay_time"].ToString()).ToString("yyyy/MM/dd HH:mm:ss");
                        }
                        else { item.pay_time = ""; }
                    }
                }
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                jsonStr = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                jsonStr = "{success:false,msg:0}";
            }
            this.Response.Clear();
            this.Response.Write(jsonStr.ToString());
            this.Response.End();
            return this.Response;
        }
        /// <summary>
        /// 供應商後台:訂單管理>供應商調度出貨>要出的貨物信息
        /// </summary>
        /// <returns></returns>
        public HttpResponseBase AllOrderDeliver()
        {
            uint Normal_Subtotal = 0;//常溫商品總額--
            uint Hypothermia_Subtotal = 0;//低溫商品總額---
            uint All_Normal_Subtotal = 0;//當日常溫運費總額
            uint All_Hypothermia_Subtotal = 0;//當日低溫運費總額
            uint Order_Freight_Normal = 0;//常溫運費
            uint Order_Freight_Low = 0;//低溫運費
            uint All_Order_Freight_Normal = 0;//當日常溫運費--
            uint All_Order_Freight_Low = 0;//當日低溫運費--

            string json = string.Empty;
            try
            {
                string detail_id = "";
                if (!string.IsNullOrEmpty(Request.Params["rowIDs"]))
                {
                    detail_id = Request.Params["rowIDs"];
                }
                detail_id = detail_id.TrimEnd(',');//去掉最後一個分割符號
                string[] Sid_Row = detail_id.Split(',');//拆分
                string Sid = Sid_Row[Sid_Row.Length - 1];//獲取最後一個計算出出貨時間
                //通過sid去order_slave查詢order_id;
                //通過order_id查詢在order_master中order_date_pay。
                OrderSlaveQuery query = new OrderSlaveQuery();
                query.Slave_Id = uint.Parse(Sid);
                _IOrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);
                DateTime time = _IOrderSlaveMgr.GetOrderDatePay(query).order_date_pay;
                long endtime = CommonFunction.GetPHPTime(time.ToString("yyyy/MM/dd 23:59:59"));
                uint vendor_id = (Session["vendor"] as BLL.gigade.Model.Vendor).vendor_id;
                //(計算這些數據參照自vendor.gigade100.com/order/all_order_deliver.php 第209~266行)
                #region 計算供應商當天的常溫和冷凍的總運費
                List<OrderDetailQuery> query1 = new List<OrderDetailQuery>();
                _OrderDetailMgr = new OrderDetailMgr(mySqlConnectionString);
                query1 = _OrderDetailMgr.GetOrderDetailToSum(vendor_id, endtime);

                foreach (var item in query1)
                {
                    if (item.item_mode == 1)
                        continue;
                    if (item.Product_Freight_Set == PRODUCT_FREIGHT_NORMAL || item.Product_Freight_Set == PRODUCT_FREIGHT_NO_NORMAL)//常溫,常溫免運
                    {
                        if (item.item_mode == 2)//組合商品
                        {
                            All_Normal_Subtotal += item.Single_Price * item.parent_num;
                        }
                        else
                        {
                            All_Normal_Subtotal += item.Single_Price * item.Buy_Num;
                        }
                    }
                    else if (item.Product_Freight_Set == PRODUCT_FREIGHT_LOW || item.Product_Freight_Set == PRODUCT_FREIGHT_NO_LOW) //冷凍,冷凍免運
                    {
                        if (item.item_mode == 2)//組合商品
                        {
                            All_Hypothermia_Subtotal += item.Single_Price * item.parent_num;
                        }
                        else
                        {
                            All_Hypothermia_Subtotal += item.Single_Price * item.Buy_Num;
                        }
                    }
                }
                #endregion

                #region 計算運費


                OrderDetailQuery oddquery = new OrderDetailQuery();
                oddquery.Vendor_Id = vendor_id;
                _OrderDetailMgr = new OrderDetailMgr(mySqlConnectionString);
                int total = 0;

                string sq = string.Format(" AND os.slave_id in ({0}) ORDER BY od.slave_id ASC ,od. combined_mode ASC , od.item_mode ASC ", detail_id);
                List<OrderDetailQuery> query2 = new List<OrderDetailQuery>();
                oddquery.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
                oddquery.Limit = Convert.ToInt32(Request.Params["limit"] ?? "10");//用於分頁的變量
                query1 = _OrderDetailMgr.AllOrderDeliver(oddquery, out total, sq);

                //uint Normal_Subtotal = 0;//常溫商品總額--
                //uint Hypothermia_Subtotal = 0;//低溫商品總額---
                //uint All_Normal_Subtotal = 0;//當日常溫運費總額
                //uint All_Hypothermia_Subtotal = 0;//當日低溫運費總額
                //uint Order_Freight_Normal = 0;//常溫運費
                //uint Order_Freight_Low = 0;//低溫運費
                //uint All_Order_Freight_Normal = 0;//當日常溫運費--
                //uint All_Order_Freight_Low = 0;//當日低溫運費--


                foreach (var item in query1)
                {
                    if (item.item_mode == 1)
                        continue;
                    //商品總額計算(當下出貨金額與運費)
                    if (item.Product_Freight_Set == PRODUCT_FREIGHT_NORMAL || item.Product_Freight_Set == PRODUCT_FREIGHT_NO_NORMAL)//常溫,常溫免運
                    {
                        if (item.item_mode == 2)
                        {

                            Normal_Subtotal += item.Single_Price * item.parent_num;
                            item.Buy_Num = item.Buy_Num * item.parent_num;
                            item.Single_Price = item.Single_Price * item.parent_num;

                            //Normal_Subtotal += item.Single_Price * item.parent_num;//---
                            //item.Buy_Num = item.Buy_Num * item.parent_num;//-------
                            //item.Single_Money = item.Single_Price * item.Buy_Num;//---------
                        }
                        else
                        {
                            Normal_Subtotal += item.Single_Price * item.Buy_Num;
                            item.Single_Money = item.Single_Price * item.Buy_Num;
                        }
                    }
                    else if (item.Product_Freight_Set == PRODUCT_FREIGHT_LOW || item.Product_Freight_Set == PRODUCT_FREIGHT_NO_LOW)//低溫,低溫免運
                    {
                        if (item.item_mode == 2)
                        {
                            Hypothermia_Subtotal += item.Single_Price * item.parent_num;
                            item.Buy_Num = item.Buy_Num * item.parent_num;
                            item.Single_Price = item.Single_Price * item.parent_num;
                            //Hypothermia_Subtotal += item.Single_Price * item.parent_num;//--------
                            //item.Buy_Num = item.Buy_Num * item.parent_num;//------------
                            //item.Single_Money = item.Single_Price * item.Buy_Num;//---------
                        }
                        else
                        {
                            Hypothermia_Subtotal += item.Single_Price * item.Buy_Num;
                            item.Single_Money = item.Single_Price * item.Buy_Num;
                        }
                    }
                    query2.Add(item);
                }
                _VendorMgr = new VendorMgr(mySqlConnectionString);
                BLL.gigade.Model.Vendor vendor = new BLL.gigade.Model.Vendor();
                vendor.vendor_id = vendor_id;
                vendor = _VendorMgr.GetSingle(vendor);
                //當下運費計算
                if (Normal_Subtotal != 0)
                {
                    if (vendor.freight_normal_limit > Normal_Subtotal)
                    {
                        Order_Freight_Normal = vendor.freight_normal_money;
                    }
                }
                if (Hypothermia_Subtotal != 0)
                {
                    if (vendor.freight_low_limit > Hypothermia_Subtotal && Hypothermia_Subtotal > 0)
                    {
                        Order_Freight_Low = vendor.freight_low_money;
                    }
                }
                //批次單總額運費
                if (All_Normal_Subtotal != 0)
                {
                    if (vendor.freight_normal_limit > All_Normal_Subtotal)
                    {
                        All_Order_Freight_Normal = vendor.freight_normal_money;
                    }
                }
                if (All_Hypothermia_Subtotal != 0)
                {
                    if (vendor.freight_low_limit > All_Order_Freight_Low)
                    {
                        All_Order_Freight_Low = vendor.freight_low_money;
                    }
                }

                #endregion
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                json = "{success:true,Normal_Subtotal:" + Normal_Subtotal + ",Hypothermia_Subtotal:" + Hypothermia_Subtotal + ",Order_Freight_Normal:" + Order_Freight_Normal + ",Order_Freight_Low:" + Order_Freight_Low;
                json += ",All_Order_Freight_Normal:" + All_Order_Freight_Normal + ",All_Order_Freight_Low:" + All_Order_Freight_Low + ",data:" + JsonConvert.SerializeObject(query2, Formatting.Indented, timeConverter) + "}";//返回json數據
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "{success:false,msg:0}";
            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }
        /// <summary>
        /// 供應商後台:訂單管理>供應商調度出貨
        /// </summary>
        /// <returns></returns>
        public HttpResponseBase GetDeliverList()
        {
            BLL.gigade.Model.Vendor vendor = Session["vendor"] as BLL.gigade.Model.Vendor;
            uint vendor_id = vendor.vendor_id;
            string json = String.Empty;
            StringBuilder sb = new StringBuilder();
            List<OrderSlaveQuery> store = new List<OrderSlaveQuery>();
            OrderSlaveQuery query = new OrderSlaveQuery();

            string jsonStr = String.Empty;
            try
            {
                if (!string.IsNullOrEmpty(Request.Params["Search"]))
                {
                    sb.AppendFormat(" AND ( om.order_id = '{0}')", Request.Params["Search"]);
                }
                if (!string.IsNullOrEmpty(vendor_id.ToString()))
                {
                    query.vendor_id = vendor_id;
                }
                query.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
                query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "20");//用於分頁的變量
                _IOrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);
                int totalCount = 0;
                store = _IOrderSlaveMgr.GetAllOrderWait(query, sb.ToString(), out totalCount);//查询出供應商出貨單
                for (int i = 0; i < store.Count; i++)
                {
                    store[i].pay_time = store[i].order_date_pay.ToString("yyyy/MM/dd HH:mm:ss");//轉單日期
                    store[i].status = "待出貨";
                    store[i].code = store[i].order_date_pay.AddDays(1).ToString("yyyyMMdd");//批次編號  (參照php:/vendor.gigade100.com/order/all_order_deliver.php第67行)
                    store[i].order_createdate = store[i].code;
                    if (i > 0)
                    {
                        for (int j = 0; j < i; j++)
                        {
                            if (store[j].code == store[i].code)
                            {
                                store[i].code = "—";
                                break;
                            }
                        }
                    }
                }
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                jsonStr = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                jsonStr = "{success:false,msg:0}";
            }
            this.Response.Clear();
            this.Response.Write(jsonStr);
            this.Response.End();
            return this.Response;
        }
示例#9
0
        /// <summary>
        /// 後臺管理>供應商待出貨訂單
        /// </summary>
        /// <param name="store"></param>
        /// <param name="str"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public List<OrderSlaveQuery> GetAllOrderWait(OrderSlaveQuery store, string str, out int totalCount)
        {
            StringBuilder sqlClomn = new StringBuilder();
            StringBuilder sqlTable = new StringBuilder();
            StringBuilder sqlCondition = new StringBuilder();
            StringBuilder sqlGroup = new StringBuilder();
            StringBuilder sqlSort = new StringBuilder();
            totalCount = 0;
            try
            {//
                sqlClomn.AppendLine(@"SELECT	os.slave_id as Slave_Id,FROM_UNIXTIME(om.order_date_pay) as order_date_pay ,order_payment,os.order_id ,om.order_name, ");
                sqlClomn.AppendLine(@" om.delivery_name,os.slave_status,om.note_order ,os.order_id,om.delivery_mobile,om.order_mobile ");
                sqlTable.AppendLine(@"  FROM	order_slave os, order_master om ,order_detail od  ");
                sqlCondition.AppendLine(@"  WHERE os.order_id = om.order_id AND os.slave_id = od.slave_id  ");
                sqlCondition.AppendLine(@" AND od.detail_status = 2	AND od.product_mode IN (2 , 3) AND os.slave_status = 2 ");
                if (store.vendor_id != 0)
                {
                    sqlCondition.AppendFormat(@" AND os.vendor_id = '{0}' ", store.vendor_id);
                }

                if (!string.IsNullOrEmpty(str))
                {
                    sqlCondition.Append(str);
                }
                sqlGroup.Append(@" GROUP BY os.slave_id");
                if (store.IsPage)
                {
                    string sql = "select count(totalcount) as total from (select count(os.slave_id) as totalcount  " + sqlTable.ToString() + sqlCondition.ToString() + sqlGroup.ToString() + " )t";
                    System.Data.DataTable _dt = _dbAccess.getDataTable(sql);
                    if (_dt != null && _dt.Rows.Count > 0)
                    {
                        totalCount = int.Parse(_dt.Rows[0]["total"].ToString());
                    }
                    sqlSort.AppendLine(@"  ORDER BY om.order_date_pay DESC ");
                    sqlSort.AppendFormat(" limit {0},{1};", store.Start, store.Limit);
                }
                return _dbAccess.getDataTableForObj<OrderSlaveQuery>(sqlClomn.ToString() + sqlTable.ToString() + sqlCondition.ToString() + sqlGroup.ToString() + sqlSort.ToString());
            }
            catch (Exception ex)
            {
                throw new Exception("OrderSlaveDao-->GetAllOrderWait-->" + ex.Message + sqlClomn.ToString() + sqlTable.ToString() + sqlCondition.ToString() + sqlGroup.ToString() + sqlGroup.ToString(), ex);
            }
        }
示例#10
0
        public HttpResponseBase GetOrderDeliverDetailList()
        {
            StringBuilder addsql = new StringBuilder();
            string json = string.Empty;
            string startTime = Request.Params["start_time"];
            string endTime = Request.Params["end_time"];

            if (!string.IsNullOrEmpty(startTime))
            {
                addsql.AppendFormat(" and om.order_date_pay>='{0}' ", CommonFunction.GetPHPTime(DateTime.Parse(startTime).ToString("yyyy/MM/dd 00:00:00")));
            }
            if (!string.IsNullOrEmpty(endTime))
            {
                addsql.AppendFormat(" and om.order_date_pay<='{0}' ", CommonFunction.GetPHPTime(DateTime.Parse(endTime).ToString("yyyy/MM/dd 23:59:59")));
            }
            addsql.Append(" 	AND od.detail_status = 2	AND product_mode = 1 ");

            BLL.gigade.Model.Vendor modelVendor = Session["vendor"] as BLL.gigade.Model.Vendor;
            StringBuilder sbHtml = new StringBuilder();
            
            try
            {
                //OrderSlave
                OrderSlaveQuery orderSlaveQuery = new OrderSlaveQuery()
                {
                    vendor_id = modelVendor.vendor_id,
                    Slave_Status = 2,//待出貨
                    IsPage = false
                };
                OrderSlaveQuery orderSlave = new OrderSlaveQuery();
                DataTable dtOrderSlave = new DataTable();
                _OrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);

                //OrderDetail
                OrderDetailQuery orderDetailQuery = new OrderDetailQuery();

                List<OrderDetailQuery> list = new List<OrderDetailQuery>();
                _OrderDetailMgr = new OrderDetailMgr(mySqlConnectionString);
                int totalCount_OrderDetail = 0;
                Dictionary<OrderDetailQuery, List<OrderDetailQuery>> product_freight_set_mapping = new Dictionary<OrderDetailQuery, List<OrderDetailQuery>>();

                //根據時間搜索order_id
                dtOrderSlave = _OrderSlaveMgr.GetListPrint(orderSlaveQuery, addsql.ToString());
                if (dtOrderSlave.Rows.Count > 0)
                {
                    //循環order_id
                    foreach (DataRow item in dtOrderSlave.Rows)
                    {
                        //orderSlave
                        orderSlave.order_id = Convert.ToUInt32(item["order_id"]);
                        orderSlave.order_createdate = Convert.ToDateTime(item["order_createdate"]).ToString("yyyy-MM-dd HH:mm:ss");
                        orderSlave.pay_time = Convert.ToDateTime(item["order_date_pay"]).ToString("yyyy-MM-dd HH:mm:ss");
                        orderSlave.order_name = item["order_name"].ToString();
                        orderSlave.delivery_name = item["delivery_name"].ToString();
                        orderSlave.estimated_arrival_period = Convert.ToInt32(item["estimated_arrival_period"]);
                        orderSlave.note_order = item["note_order"].ToString();
                        orderSlave.dispatch = 0;
                        orderSlave.delivery_zip = Convert.ToUInt32(item["delivery_zip"]);
                        orderSlave.delivery_address = item["delivery_address"].ToString();
                        orderSlave.delivery_mobile = item["delivery_mobile"].ToString();

                        //供查詢列表使用
                        orderDetailQuery.Slave_Id = Convert.ToUInt32(item["slave_id"]);
                        list = _OrderDetailMgr.GetOrderDetailList(orderDetailQuery, out totalCount_OrderDetail);
                        sbHtml.Append(GetOrderDeliverDetailHtml(orderSlave, list));
                    }
                }
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                //json = "{success:true,data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據
                json = "{success:true,msg:\"" + sbHtml.ToString() + "\"}";
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "{success:false,msg:0}";
            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }
示例#11
0
        public HttpResponseBase GetOrderDeliverDetail()
        {
            string json = string.Empty;
            string order_id = Request.Params["oid"];
            string p_mode = Request.Params["p_mode"];
            BLL.gigade.Model.Vendor modelVendor = Session["vendor"] as BLL.gigade.Model.Vendor;
            //OrderSlave
            OrderSlaveQuery orderSlaveQuery = new OrderSlaveQuery()
            {
                order_id = Convert.ToUInt32(order_id),
                vendor_id = modelVendor.vendor_id,
                Slave_Status = 2,//待出貨
                IsPage = false
            };
            OrderSlaveQuery orderSlave = new OrderSlaveQuery();
            DataTable dtOrderSlave = new DataTable();
            _OrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);
            int totalCount_OrderSlave = 0;

            //OrderDetail
            OrderDetailQuery orderDetailQuery = new OrderDetailQuery();
            //orderDetailQuery.Order_Id = uint.Parse(order_id);
            List<OrderDetailQuery> list = new List<OrderDetailQuery>();
            _OrderDetailMgr = new OrderDetailMgr(mySqlConnectionString);
            int totalCount_OrderDetail = 0;

            try
            {
                dtOrderSlave = _OrderSlaveMgr.GetList(orderSlaveQuery, out totalCount_OrderSlave);
                if (dtOrderSlave.Rows.Count > 0)
                {
                    //orderSlave
                    orderSlave.order_id = Convert.ToUInt32(dtOrderSlave.Rows[0]["order_id"]);
                    orderSlave.order_createdate = dtOrderSlave.Rows[0]["order_createdate"].ToString();
                    orderSlave.pay_time = dtOrderSlave.Rows[0]["order_date_pay"].ToString();
                    orderSlave.order_name = dtOrderSlave.Rows[0]["order_name"].ToString();
                    orderSlave.delivery_name = dtOrderSlave.Rows[0]["delivery_name"].ToString();
                    orderSlave.estimated_arrival_period = Convert.ToInt32(dtOrderSlave.Rows[0]["estimated_arrival_period"]);
                    orderSlave.note_order = dtOrderSlave.Rows[0]["note_order"].ToString();
                    orderSlave.dispatch = modelVendor.dispatch;
                    orderSlave.delivery_zip = Convert.ToUInt32(dtOrderSlave.Rows[0]["delivery_zip"]);
                    orderSlave.delivery_address = dtOrderSlave.Rows[0]["delivery_address"].ToString();
                    orderSlave.delivery_mobile = dtOrderSlave.Rows[0]["delivery_mobile"].ToString();

                    //供查詢列表使用
                    orderDetailQuery.Slave_Id = Convert.ToUInt32(dtOrderSlave.Rows[0]["slave_id"]);
                }

                list = _OrderDetailMgr.GetOrderDetailList(orderDetailQuery, out totalCount_OrderDetail);
                List<OrderDetailQuery> stroes = new List<OrderDetailQuery>();
                stroes = getList(list);
                string html = GetOrderDeliverDetailHtml(orderSlave, stroes);
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                //json = "{success:true,data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據
                json = "{success:true,msg:\"" + html + "\"}";
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "{success:false,msg:0}";
            }
            this.Response.Clear();
            this.Response.Write(json);
            this.Response.End();
            return this.Response;
        }
示例#12
0
        public DataTable GetListPrint(OrderSlaveQuery query, string addsql=null)
        {
            StringBuilder sbSqlColumn = new StringBuilder();
            StringBuilder sbSqlTable = new StringBuilder();
            StringBuilder sqlCondition = new StringBuilder();
            StringBuilder sqlSort = new StringBuilder();
            string sqlStr = string.Empty;
            try
            {
                sbSqlColumn.Append(@"select	os.slave_id,os.order_id,os.vendor_id,os.slave_freight_normal,os.slave_freight_low,os.slave_product_subtotal,os.slave_amount,os.slave_status,os.slave_note,os.slave_date_delivery,os.slave_date_cancel,os.slave_date_return,os.slave_date_close,os.account_status,os.slave_updatedate,os.slave_ipfrom,om.order_name,om.order_gender,om.order_mobile,om.order_zip,om.order_address,om.delivery_same,om.delivery_name,om.delivery_gender,om.delivery_mobile,om.delivery_zip,om.delivery_address,om.note_order,FROM_UNIXTIME(om.order_date_pay) as order_date_pay,om.estimated_arrival_period,FROM_UNIXTIME(om.order_createdate) as order_createdate ");
                sbSqlTable.Append(@" from order_slave os ");
                sbSqlTable.Append(@" inner join order_master om on os.order_id = om.order_id ");
                sbSqlTable.Append(@" INNER JOIN order_detail od  on os.slave_id = od.slave_id 	AND	os.slave_status = 2 AND od.detail_status = 2 AND product_mode = 1");
                sqlCondition.Append(@" where 1=1 ");
              
                if (query.vendor_id != 0)
                {
                    sqlCondition.AppendFormat(" and os.vendor_id='{0}'", query.vendor_id);
                }
                if (!string.IsNullOrEmpty(addsql))
                {
                    sqlCondition.Append(addsql);
                }
                if (query.Slave_Status != 0)
                {
                    sqlCondition.AppendFormat(" and os.slave_status='{0}'", query.Slave_Status);
                }

                sqlSort.AppendLine(@" GROUP BY os.slave_id order by order_createdate asc ");
           
                sqlStr = sbSqlColumn.ToString() + sbSqlTable.ToString() + sqlCondition.ToString() + sqlSort.ToString();
                return _dbAccess.getDataTable(sqlStr);
            }
            catch (Exception ex)
            {
                throw new Exception("OrderSlaveDao-->GetListPrint-->" + ex.Message + sqlStr, ex);
            }
        }
示例#13
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="query"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public DataTable GetList(OrderSlaveQuery query,out int totalCount)
        {
            StringBuilder sbSqlColumn = new StringBuilder();
            StringBuilder sbSqlTable = new StringBuilder();
            StringBuilder sqlCondition = new StringBuilder();
            StringBuilder sqlSort = new StringBuilder();
            string sqlStr = string.Empty;

            totalCount = 0;
            try
            {
                sbSqlColumn.Append(@"select	os.slave_id,os.order_id,os.vendor_id,os.slave_freight_normal,os.slave_freight_low,os.slave_product_subtotal,os.slave_amount,os.slave_status,os.slave_note,os.slave_date_delivery,os.slave_date_cancel,os.slave_date_return,os.slave_date_close,os.account_status,os.slave_updatedate,os.slave_ipfrom,om.order_name,om.order_gender,om.order_mobile,om.order_zip,om.order_address,om.delivery_same,om.delivery_name,om.delivery_gender,om.delivery_mobile,om.delivery_zip,om.delivery_address,om.note_order,FROM_UNIXTIME(om.order_date_pay) as order_date_pay,om.estimated_arrival_period,FROM_UNIXTIME(om.order_createdate) as order_createdate ");
                sbSqlTable.Append(@" from order_slave os ");
                sbSqlTable.Append(@" inner join order_master om on os.order_id = om.order_id ");
                sqlCondition.Append(@" where 1=1 ");

                if (query.order_id != 0)
                {
                    sqlCondition.AppendFormat(" and os.order_id='{0}'", query.order_id);
                }
                if (query.vendor_id!=0)
                {
                    sqlCondition.AppendFormat(" and os.vendor_id='{0}'", query.vendor_id);
                }
                if (query.Slave_Status!=0)
                {
                    sqlCondition.AppendFormat(" and os.slave_status='{0}'", query.Slave_Status);
                }
                if (!string.IsNullOrEmpty(query.slave_status_in))
                {
                    sqlCondition.AppendFormat(" and os.slave_status in({0}) ", query.slave_status_in);
                }
                if (query.IsPage)
                {
                    string sql = "select count(os.order_id) as total_count " + sbSqlTable.ToString() + sqlCondition.ToString();
                    System.Data.DataTable _dt = _dbAccess.getDataTable(sql);
                    if (_dt != null && _dt.Rows.Count > 0)
                    {
                        totalCount = int.Parse(_dt.Rows[0]["total_count"].ToString());
                    }
                    sqlSort.AppendLine(@" order by order_createdate asc ");
                    sqlSort.AppendFormat(" limit {0},{1};", query.Start, query.Limit);
                }
                else
                {
                    sqlSort.AppendLine(@" order by order_createdate asc ");
                }
                sqlStr = sbSqlColumn.ToString() + sbSqlTable.ToString() + sqlCondition.ToString() + sqlSort.ToString();
                return _dbAccess.getDataTable(sqlStr);
            }
            catch (Exception ex)
            {
                throw new Exception("OrderSlaveDao-->GetList-->" + ex.Message + sqlStr, ex);
            }
        }
示例#14
0
 /// <summary>
 /// chaojie1124j_zz添加于2014/12/27
 /// 實現通過slave_id查詢一個時間。
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public OrderSlaveQuery GetOrderDatePay(OrderSlaveQuery query)
 {
     StringBuilder sql = new StringBuilder();
     sql.Append(@" select FROM_UNIXTIME(om.order_date_pay) as order_date_pay from order_slave os left join order_master om on os.order_id=om.order_id  where 1=1 ");
     try
     {
         if (query.Slave_Id != 0)
         {
             sql.AppendFormat(" and slave_id='{0}' ", query.Slave_Id);
         }
         return _dbAccess.getSinggleObj<OrderSlaveQuery>(sql.ToString());
     }
     catch (Exception ex)
     {
         throw new Exception("OrderSlaveDao-->GetOrderDatePay-->" + ex.Message + sql.ToString(), ex);
     }
 }
示例#15
0
 public DataTable GetListPrint(OrderSlaveQuery query, string addsql = null) 
 {
     try
     {
         return _orderSlaveDao.GetListPrint(query, addsql);
     }
     catch (Exception ex)
     {
         throw new Exception("OrderSlaveMgr-->GetListPrint-->" + ex.Message, ex);
     }
 }
示例#16
0
        /// <summary>
        /// 自出商品列表
        /// </summary>
        /// <returns></returns>
        public HttpResponseBase VendorWaitDeliverList()
        {
            string jsonStr = String.Empty;
            StringBuilder sb = new StringBuilder();
            _IOrderSlaveMgr = new OrderSlaveMgr(mySqlConnectionString);

            try
            {
                List<OrderSlaveQuery> store = new List<OrderSlaveQuery>();
                OrderSlaveQuery query = new OrderSlaveQuery();
                query.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量
                query.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量
                query.vendor_id = ((BLL.gigade.Model.Vendor)Session["vendor"]).vendor_id;//Convert.ToUInt32((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id);
                int totalCount = 0;
                store = _IOrderSlaveMgr.GetVendorWaitDeliver(query, sb.ToString(), out totalCount);//查询出供應商出貨單Vendor delivery
                int[] map = { 4, 1, 2, 3 };
                Dictionary<int, int[]> delivery_store_arrival_period = new Dictionary<int, int[]>();//參考路径:vendor.gigade100.com/order/order_wait_deliver.php第100行
                delivery_store_arrival_period.Add(1, map);
                delivery_store_arrival_period.Add(10, map);
                delivery_store_arrival_period.Add(16, map);
                delivery_store_arrival_period.Add(17, map);
                #region 到貨時段//0,不限時1,12:00以前
                List<Parametersrc> paramentTime = new List<Parametersrc>();//到貨時段
                _ptersrc = new ParameterMgr(mySqlConnectionString);
                paramentTime = _ptersrc.GetAllKindType("Estimated_Arrival_Period");//物流業者
                DataTable _dtDelivery = new DataTable();
                _dtDelivery.Columns.Add("parametercode", typeof(String));
                _dtDelivery.Columns.Add("parameterName", typeof(String));
                _dtDelivery.Columns.Add("remark", typeof(String));
                foreach (var item in paramentTime)
                {
                    DataRow dr = _dtDelivery.NewRow();
                    dr[0] = item.ParameterCode;
                    dr[1] = item.parameterName;
                    dr[2] = item.remark;
                    _dtDelivery.Rows.Add(dr);
                }
                #endregion
                #region 台灣地區的參數
                DataTable _dtZip = new DataTable();
                _zipMgr = new ZipMgr(mySqlConnectionString);
                _dtZip = _zipMgr.ZipTable(null, null);
                #endregion

                foreach (var item in store)//為什麼是待出貨能,因為查詢的條件就是狀態為待出貨的
                {

                    item.status = "待出貨";
                    item.delivery = "";
                    item.pay_time = item.order_date_pay.ToString("yyyy/MM/dd HH:mm:ss");
                    if (delivery_store_arrival_period.Keys.Contains(item.delivery_store))
                    {
                        DataRow[] rows = _dtDelivery.Select("ParameterCode='" + item.estimated_arrival_period + "'");
                        foreach (DataRow row in rows)//篩選出的最多只有一條數據,
                        {
                            item.delivery = "";
                            if (!string.IsNullOrEmpty(row["ParameterCode"].ToString()))
                            {
                                item.delivery = row["ParameterName"].ToString();//---送貨時段
                            }
                        }
                    }
                    DataRow[] ziprows = _dtZip.Select("zipcode='" + item.delivery_zip + "'");
                    foreach (var ziprow in ziprows)
                    {
                        if (!string.IsNullOrEmpty(ziprow["zipcode"].ToString()))
                        {
                            item.delivery_address = item.delivery_zip + "  " + ziprow["middle"].ToString() + ziprow["small"].ToString() + item.delivery_address;
                        }
                    }
                }

                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式     
                timeConverter.DateTimeFormat = "yyyy-MM-dd";
                jsonStr = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(store, Formatting.Indented, timeConverter) + "}";//返回json數據
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                jsonStr = "{success:false,msg:0}";
            }
            this.Response.Clear();
            this.Response.Write(jsonStr.ToString());
            this.Response.End();
            return this.Response;
        }
示例#17
0
        //public ActionResult OrderDeliverDetail()
        //{
        //    string order_id = Request.Params["order_id"];
        //    OrderSlaveMasterQuery orderSlaveMasterQuery = new OrderSlaveMasterQuery();
        //    //orderSlaveMasterQuery=_OrderDetailMgr.

        //    OrderDetailQuery query = new OrderDetailQuery();
        //    query.Order_Id = uint.Parse(order_id);
        //    List<OrderDetailQuery> listOrderDetail = new List<OrderDetailQuery>();
        //    int totalCount = 0;
        //    listOrderDetail = _OrderDetailMgr.GetOrderDetailList(query, out totalCount);

        //    ViewBag.orderSlave = null;
        //    ViewBag.listOrderDetail = listOrderDetail;
        //    return View();
        //}

        /// <summary>
        /// 組織要打印的出貨單html
        /// </summary>
        /// <returns>html字符串</returns>
        private string GetOrderDeliverDetailHtml(OrderSlaveQuery model, List<OrderDetailQuery> list)
        {
            StringBuilder sbHtml = new StringBuilder();
            //增加樣式
            sbHtml.Append("<style>");
            sbHtml.Append(".pagenum {text-align: center; font: 400 12px/25px Verdana, '新細明體'; color: #686D73; margin: 15px 0; }");
            sbHtml.Append(".pagenum a { color: #686D73; text-decoration: none; }");
            sbHtml.Append(".pagenum a:hover { color: #686D73; text-decoration: underline; }");
            sbHtml.Append(".pagenum span.select { color: #FC6B00; font-weight: 700; }");
            sbHtml.Append(".black12 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20px; color: #000000; text-decoration: none; }");
            sbHtml.Append(".line { border-top: dotted 1px #1d7da2; height: 0px; margin: 15px 0; clear: both; font-size: 0px; line-height: 0px; }");
            sbHtml.Append(".arial { font-family: Arial; font-size: 14px; }");
            sbHtml.Append("#main { margin: 20px; border: 1px solid #a8a8a8; width: 510px; }");
            sbHtml.Append("#main h1 { font-size: 16px; line-height: 30px; color: #909090; padding: 5px 20px 0 20px; margin: 10px 0; font-family: '微軟正黑體'; }");
            sbHtml.Append("#main h2 { font-size: 16px; line-height: 30px; color: #909090; padding: 0 20px; font-family: '微軟正黑體'; font-weight: normal;margin: 0; }");
            sbHtml.Append("#main h3 { font-size: 16px; line-height: 30px; color: #000000; padding: 0 20px; font-family: '微軟正黑體'; font-weight: normal; margin: 15px 60px 0 60px; }");
            sbHtml.Append("#main h4 { font-size: 20px; line-height: 35px; color: #000000; padding: 0 20px; font-family: '微軟正黑體'; font-weight: normal; margin: 0 20px 20px 60px; }");
            sbHtml.Append("</style>");
            //html內容
            sbHtml.Append("<div><img src='/Content/img/add_01.gif' width='550' height='106' alt='' /></div>");
            sbHtml.Append("<table width='700' border='0' cellpadding='2' cellspacing='0' bordercolor='#666666'>");
            sbHtml.Append(" <tr>");
            sbHtml.Append("     <td valign='top'>");
            sbHtml.Append("         <table width='100%' border='0' cellspacing='0' cellpadding='3'>");
            sbHtml.Append("             <tr>");
            sbHtml.Append("                 <td height='3'></td>");
            sbHtml.Append("             </tr>");
            sbHtml.Append("         </table>");
            sbHtml.Append("         <p class='pagenum'></p>");
            sbHtml.Append("         <table width='100%' border='0' align='right' cellpadding='0' cellspacing='0'>");
            sbHtml.Append("             <tr>");
            sbHtml.Append("                 <td width='13' height='17' background='/Content/img/01.gif'></td>");
            sbHtml.Append("                 <td background='/Content/img/02.gif'></td>");
            sbHtml.Append("                 <td width='17' height='17' background='/Content/img/06.gif'></td>");
            sbHtml.Append("             </tr>");
            sbHtml.Append("             <tr>");
            sbHtml.Append("                 <td background='/Content/img/03.gif'>&nbsp;</td>");
            sbHtml.Append("                 <td>");
            sbHtml.Append("                     <table width='100%' border='0' align='center' cellpadding='5' cellspacing='0'>");
            sbHtml.Append("                         <tr>");
            sbHtml.Append("                             <td>");
            sbHtml.Append("                                 <div align='left' class='black12'>");
            sbHtml.Append("                                     <div align='center'>吉甲地在地好物市集網站訂購明細</div>");
            sbHtml.Append("                                 </div>");
            sbHtml.Append("                             </td>");
            sbHtml.Append("                         </tr>");
            sbHtml.Append("                         <tr>");
            sbHtml.Append("                             <td>");
            sbHtml.Append("                                 <table width='100%' border='0' cellspacing='0' cellpadding='0'>");
            sbHtml.Append("                                     <tr background='/Content/img/05.gif'>");
            //sbHtml.Append("                                         <td align='left'>付款單號: {{$order_id}}</td>");
            sbHtml.AppendFormat("                                         <td align='left'>付款單號: {0}</td>", model.order_id);
            sbHtml.Append("                                         <td></td>");
            sbHtml.Append("                                         <td></td>");
            sbHtml.Append("                                     </tr>");
            sbHtml.Append("                                     <tr background='/Content/img/05.gif'>");
            //sbHtml.Append("                                         <td align='left'>訂購日期:{{$a_order_master.order_createdate}}</td>");
            sbHtml.AppendFormat("                                         <td align='left'>訂購日期:{0}</td>", model.order_createdate);
            sbHtml.Append("                                         <td></td>");
            //sbHtml.Append("                                         <td align='left'>轉單日期:{{$a_order_master.order_date_pay}}</td>");
            sbHtml.AppendFormat("                                         <td align='left'>轉單日期:{0}</td>", model.pay_time);
            sbHtml.Append("                                     </tr>");
            sbHtml.Append("                                     <tr background='/Content/img/05.gif'>");
            //sbHtml.Append("                                         <td align='left'>訂購人:{{$a_order_master.order_name}}</td>");
            sbHtml.AppendFormat("                                         <td align='left'>訂購人:{0}</td>", model.order_name);
            sbHtml.Append("                                         <td></td>");
            //sbHtml.Append("                                         <td align='left'>收貨人:{{$a_order_master.delivery_name}}</td>");
            sbHtml.AppendFormat("                                         <td align='left'>收貨人:{0}</td>", model.delivery_name);
            sbHtml.Append("                                     </tr>");
            sbHtml.Append("                                     <tr background='/Content/img/05.gif'>");
            //sbHtml.Append("                                         <td align='left'>到貨時段:{{$a_order_master.estimated_arrival_period}}</td>");
            string strEstimatedArrivalPeriod = string.Empty;
            if (model.estimated_arrival_period == 0)
            {
                strEstimatedArrivalPeriod = "不限時";
            }
            else if (model.estimated_arrival_period == 1)
            {
                strEstimatedArrivalPeriod = "12:00以前";
            }
            else if (model.estimated_arrival_period == 2)
            {
                strEstimatedArrivalPeriod = "12:00-17:00";
            }
            else if (model.estimated_arrival_period == 3)
            {
                strEstimatedArrivalPeriod = "17:00-20:00";
            }
            sbHtml.AppendFormat("                                         <td align='left'>到貨時段:{0}</td>", strEstimatedArrivalPeriod);
            sbHtml.Append("                                         <td></td>");
            sbHtml.Append("                                         <td></td>");
            sbHtml.Append("                                     </tr>");
            sbHtml.Append("                                     <tr background='/Content/img/05.gif'>");
            //sbHtml.Append("                                         <td align='left'>備註:{{$a_order_master.note_order}}</td>");
            sbHtml.AppendFormat("                                         <td align='left'>備註:{0}</td>", model.note_order);
            sbHtml.Append("                                         <td></td>");
            sbHtml.Append("                                         <td></td>");
            sbHtml.Append("                                     </tr>");
            sbHtml.Append("                                 </table>");
            sbHtml.Append("                                 <div class='line'></div>");
            sbHtml.Append("                                 <table width='100%' border='1'  cellpadding='0' cellspacing='1' class='disc_table'>");
            sbHtml.Append("                                     <tr align='center'>");
            sbHtml.Append("                                         <th>商品編號</th>");
            sbHtml.Append("                                         <th>廠商自訂編號</th>");
            sbHtml.Append("                                         <th>售價</th>");
            sbHtml.Append("                                         <th>商品名稱</th>");
            sbHtml.Append("                                         <th>數量</th>");
            sbHtml.Append("                                     </tr>");
            //{{if !empty($a_order_detail) }}
            //  {{foreach key=key item=value from=$a_order_detail}}
            //      <tr align="center">
            //          <td>{{if ($value.combined_mode >= 1 and $value.item_mode == 1)}}{{$value.parent_id}}{{else}}{{$value.item_id}}{{/if}}</td>
            //          <td>{{$value.item_code}}</td>
            //          <td>{{if $value.item_mode != 1}}{{$value.single_money}}{{/if}}</td>
            //          <td  align="left">{{if ($value.combined_mode >= 1 and $value.item_mode == 2)}}&nbsp;&nbsp;&nbsp;&nbsp;*{{$value.product_name}}{{$value.product_spec_name}}{{else}}{{$value.product_name}}{{$value.product_spec_name}}{{/if}}<!--{{if !empty($value.detail_note)}}<br /><span style="color:#f0f;">&nbsp;&nbsp;{{$value.detail_note}}</span>{{/if}}--></td>
            //          <td>{{$value.buy_num|number_format}}</td>                               
            //      </tr>
            //  {{/foreach}}
            //{{/if}}
            if (list.Count > 0)
            {
                foreach (var item in list)
                {
                    sbHtml.Append("                                     <tr align='center'>");
                    sbHtml.Append("                                         <td>");
                    if (item.Combined_Mode >= 1 && item.item_mode == 1)
                    {
                        sbHtml.Append(item.Parent_Id);
                    }
                    else
                    {
                        sbHtml.Append(item.Item_Id);
                    }
                    sbHtml.Append("                                         </td>");
                    sbHtml.AppendFormat("                                         <td>{0}</td>", item.Item_Code);
                    sbHtml.Append("                                         <td>");
                    if (item.item_mode != 1)
                    {
                        sbHtml.Append(item.Single_Money);
                    }
                    sbHtml.Append("                                         </td>");
                    sbHtml.Append("                                         <td  align='left'>");
                    if (item.Combined_Mode >= 1 && item.item_mode == 2)
                    {
                        sbHtml.AppendFormat("&nbsp;&nbsp;&nbsp;&nbsp;*{0}{1}", item.Product_Name, item.Product_Spec_Name);
                    }
                    else
                    {
                        sbHtml.AppendFormat("{0}{1}", item.Product_Name, item.Product_Spec_Name);
                    }
                    sbHtml.Append("                                         </td>");
                    sbHtml.AppendFormat("                                         <td>{0}</td>", item.Buy_Num);
                    sbHtml.Append("                                     </tr>");
                }
            }
            sbHtml.Append("                                 </table>");
            sbHtml.Append("                             </td>");
            sbHtml.Append("                         </tr>");
            sbHtml.Append("                     </table>");
            sbHtml.Append("                 </td>");
            sbHtml.Append("                 <td background='/Content/img/07.gif'>&nbsp;</td>");
            sbHtml.Append("             </tr>");
            sbHtml.Append("             <tr>");
            sbHtml.Append("                 <td background='/Content/img/04.gif'></td>");
            sbHtml.Append("                 <td background='/Content/img/05.gif'>&nbsp;&nbsp;</td>");
            sbHtml.Append("                 <td background='/Content/img/08.gif'></td>");
            sbHtml.Append("             </tr>");
            sbHtml.Append("         </table>");
            sbHtml.Append("     </td>");
            sbHtml.Append(" </tr>");
            sbHtml.Append("</table>");
            sbHtml.Append("<hr />");
            //sbHtml.Append("{{if $dispatch == 0}}");
            if (model.dispatch == 0)//是否是急件
            {
                sbHtml.Append("<div align='center'>");
                sbHtml.Append(" <table width='550' border='0' cellpadding='0' cellspacing='0'>");
                sbHtml.Append("     <tr>");
                sbHtml.Append("         <td><img src='/Content/img/add_01.gif' width='550' height='106' alt='' /></td>");
                sbHtml.Append("     </tr>");
                sbHtml.Append("     <tr>");
                sbHtml.Append("         <td>");
                sbHtml.Append("             <div id='main'>");
                sbHtml.Append("                 <h1>寄件人</h1>");
                sbHtml.Append("                 <h2>吉甲地在地好物市集 <br>");
                sbHtml.Append("                 台北市南港區八德路四段768巷7號6樓之1 <br>");
                sbHtml.Append("                 02-2783-4997</h2>");
                sbHtml.Append("                 <h3>收件人</h3>");
                //sbHtml.Append("                 <h4>{{$a_order_master.delivery_zip}}{{$a_order_master.delivery_address}}<br>");
                sbHtml.AppendFormat("                 <h4>{0}{1}<br>", model.delivery_zip, model.delivery_address);
                //sbHtml.Append("                 {{$a_order_master.delivery_name}} 收 <br>");
                sbHtml.AppendFormat("                 {0} 收 <br>", model.delivery_name);
                //sbHtml.Append("                 {{$a_order_master.delivery_mobile}}</h4>");
                sbHtml.AppendFormat("                 {0}</h4>", model.delivery_mobile);
                sbHtml.Append("                 <div id='order'></div>");
                sbHtml.Append("             </div>");
                sbHtml.Append("         </td>");
                sbHtml.Append("     </tr>");
                sbHtml.Append("     <tr>");
                sbHtml.Append("         <td>");
                sbHtml.Append("             <p>‧拆閱清點後,若您發現商品有異常,請保持商品原狀與通知客服人員<span class='arial'>02-2783-4997</span></p>");
                sbHtml.Append("             <p>‧若您訂購生鮮商品,請務必立即冷藏保存,以免產生變質。</p>");
                sbHtml.Append("         </td>");
                sbHtml.Append("     </tr>");
                sbHtml.Append(" </table>");
                sbHtml.Append("</div>");
                //sbHtml.Append("{{/if}}");
            }
            //sbHtml.Append("<div align='center'><input type='button' name='Submit1' class='cssbutton' value='列印' onClick='javascript:print();' /></div>");
            //sbHtml.Append("<script type='text/JavaScript'>");
            //sbHtml.Append(" function printList(){");
            //sbHtml.Append("     window.print();");
            ////window.close();
            //sbHtml.Append(" }");
            //sbHtml.Append("</script>");

            return sbHtml.ToString();
        }
示例#18
0
 public DataTable GetList(OrderSlaveQuery query, out int totalCount)
 {
     try
     {
         return _orderSlaveDao.GetList(query, out totalCount);
     }
     catch (Exception ex)
     {
         throw new Exception("OrderSlaveMgr-->GetList-->" + ex.Message, ex);
     }
 }
示例#19
0
        /// <summary>
        /// 供應商後台>訂單管理>供應商自行出貨列表
        /// </summary>
        /// <param name="store"></param>
        /// <param name="str"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public List<OrderSlaveQuery> GetVendorWaitDeliver(OrderSlaveQuery store, string str, out int totalCount)
        {
            StringBuilder sqlClomn = new StringBuilder();
            StringBuilder sqlTable = new StringBuilder();
            StringBuilder sqlCondition = new StringBuilder();
            StringBuilder sqlGroup = new StringBuilder();
            StringBuilder sqlSort = new StringBuilder();
            totalCount = 0;
            try
            {
                sqlClomn.AppendLine(@"SELECT	os.order_id,os.slave_status,os.slave_id,om.order_name, om.delivery_name,FROM_UNIXTIME(om.order_date_pay) as order_date_pay,");
                sqlClomn.AppendLine(@" om.delivery_mobile, order_payment,om.order_mobile, om.delivery_store,om.estimated_arrival_period,om.holiday_deliver, ");
                sqlClomn.AppendLine(@" om.delivery_zip,om.delivery_address,om.note_order ");
                sqlTable.AppendLine(@" from order_slave os ");
                sqlTable.AppendLine(@" INNER JOIN order_master om USING (order_id)INNER JOIN order_detail od USING (slave_id) ");
                sqlCondition.AppendFormat(@" where 1=1 and os.vendor_id='{0}' and od.product_mode=1 and od.detail_status=2 ", store.vendor_id);
                sqlGroup.AppendLine(@" GROUP BY os.slave_id  ");
                if (!string.IsNullOrEmpty(str))
                {
                    sqlCondition.Append(str);
                }

                if (store.IsPage)
                {
                    string sql = "select os.order_id as total_count " + sqlTable.ToString() + sqlCondition.ToString() + sqlGroup.ToString();
                    System.Data.DataTable _dt = _dbAccess.getDataTable(sql);
                    if (_dt != null && _dt.Rows.Count > 0)
                    {
                        totalCount = _dt.Rows.Count;
                    }
                    sqlSort.AppendLine(@"  ORDER BY order_createdate DESC ");
                    sqlSort.AppendFormat(" limit {0},{1};", store.Start, store.Limit);
                }
                string sqlstr = sqlClomn.ToString() + sqlTable.ToString() + sqlCondition.ToString() + sqlGroup.ToString() + sqlSort.ToString();
                return _dbAccess.getDataTableForObj<OrderSlaveQuery>(sqlstr);
            }
            catch (Exception ex)
            {
                throw new Exception("OrderSlaveDao-->GetVendorWaitDeliver-->" + ex.Message + sqlClomn.ToString() + sqlTable.ToString() + sqlCondition.ToString() + sqlGroup.ToString() + sqlSort.ToString(), ex);
            }
        }