using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.BLL; using CY.Model; using CY.Infrastructure.Query; using CY.Infrastructure.Common; using CY.BLL.OA; using CY.BLL.Sys; using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System.Transactions; using CY.BLL.EC; using CY.BLL.Inquiry; using CY.Model.Inquiry; namespace CY.WebForm.Pages.financial { public partial class PlanOrderList : BasePage { // Sys_DictionaryBLL _Sys_DictionaryBLL = new Sys_DictionaryBLL(); CoreCmsPlanOrderBLL _PlanOrderBLL = new CoreCmsPlanOrderBLL(); Sys_CitySiteBLL bll_Sys_CitySiteBLL = new Sys_CitySiteBLL(); EC_OrderBasicBLL _eC_OrderBasicBLL = new EC_OrderBasicBLL(); //WorkBookTypeBLL _WorkBookTypeBLL = new WorkBookTypeBLL(); CoreCmsPlanOrderItemBLL _coreCmsPlanOrderItemBLL = new CoreCmsPlanOrderItemBLL(); EC_OrderPrintParameterBLL _OrderPrintParameterBLL = new EC_OrderPrintParameterBLL(); public string orderkeyid = ""; protected void Page_Load(object sender, EventArgs e) { UCPager1.AspNetPager.PageChanged += AspNetPager1_PageChanged; if (!IsPostBack) { var request = HttpContext.Current.Request; HideKeyid.Value = request["orderkeyid"].ToString2(); orderkeyid = request["orderkeyid"].ToString2(); //this.selSubjectType.DataSource = _Sys_DictionaryBLL.GetDataByType("科目类别"); //this.selSubjectType.DataBind(); //this.selSubjectType.Items.Insert(0, new ListItem("全部", "")); //BindProvince(); BindList(); } if (Request["deleteKeyIds"] != null) { List deleteKeyIdList = new List(); string deleteKeyIds = Request["deleteKeyIds"].ToString().Trim(','); string[] keyIdArry = deleteKeyIds.Split(','); foreach (string keyId in keyIdArry) { var model = _PlanOrderBLL.GetModelByKeyid(keyId.ToInt32().Value); if ( model != null) _PlanOrderBLL.DeleteModel(model); } var sss = _eC_OrderBasicBLL.UpdateorderJine(HideKeyid.Value.ToInt32().Value); JavaScript.MessageBox("删除成功", this); Response.Redirect("/Pages/business/PlanOrderList.aspx?orderkeyid=" + HideKeyid.Value); } } /// /// 加载全部数据 /// private void BindList() { Pagination pa = new Pagination(); pa.PageSize = this.UCPager1.AspNetPager.PageSize; pa.PageIndex = this.UCPager1.AspNetPager.CurrentPageIndex; string sheng = ""; //if (this.selectProvince.SelectedItem.Text != "全部") //{ // sheng = this.selectProvince.SelectedItem.Text; //} string shi = ""; //if (this.selectCity.SelectedItem.Text != "全部") //{ // shi = this.selectCity.SelectedItem.Text; //} string quxian = ""; //if (this.selectCounty.SelectedItem.Text != "全部") //{ // quxian = this.selectCounty.SelectedItem.Text; //} this.RepSubjeSetctList.DataSource = _PlanOrderBLL.SelectModelPage(pa, HideKeyid.Value, selstatus.Value, sheng, shi , quxian, txtpianqu.Value ,txtshipAddress.Value,txtshipName.Value,txtshipMobile.Value,txtshouhuoAddress.Value,"",""); this.RepSubjeSetctList.DataBind(); UCPager1.AspNetPager.RecordCount = pa.RecordCount; } protected void AspNetPager1_PageChanged(object src, EventArgs e) { BindList(); } protected void btn_Register_Click(object sender, EventArgs e) { BindList(); } ////绑定省 //protected void BindProvince() //{ // this.selectProvince.Items.Clear(); // this.selectProvince.DataSource = bll_Sys_CitySiteBLL.SelectAllNextModel(0, 0, 1); // this.selectProvince.DataTextField = "Name"; // this.selectProvince.DataValueField = "Keyid"; // this.selectProvince.DataBind(); // this.selectProvince.Items.Insert(0, new ListItem("全部", "")); // this.selectCity.Items.Insert(0, new ListItem("全部", "")); // this.selectCounty.Items.Insert(0, new ListItem("全部", "")); //} ////改变省绑定市 //protected void ChangeProvince(object sender, EventArgs e) //{ // this.selectCity.Items.Clear(); // this.selectCounty.Items.Clear(); // Sys_CitySite m_Sys_CitySite = bll_Sys_CitySiteBLL.GetModelByKeyid(this.selectProvince.SelectedValue.ToInt32() ?? 0); // if (m_Sys_CitySite != null) // { // this.selectCity.DataSource = bll_Sys_CitySiteBLL.SelectAllNextModel(m_Sys_CitySite.Keyid, 0, 2); // this.selectCity.DataTextField = "Name"; // this.selectCity.DataValueField = "Keyid"; // this.selectCity.DataBind(); // } // this.selectCity.Items.Insert(0, new ListItem("全部", "")); // this.selectCounty.Items.Insert(0, new ListItem("全部", "")); //} ////改变市绑定区 //protected void ChangeCity(object sender, EventArgs e) //{ // this.selectCounty.Items.Clear(); // Sys_CitySite m_Sys_CitySite = bll_Sys_CitySiteBLL.GetModelByKeyid(this.selectCity.SelectedValue.ToInt32() ?? 0); // if (m_Sys_CitySite != null) // { // this.selectCounty.DataSource = bll_Sys_CitySiteBLL.SelectProxyNextModel(m_Sys_CitySite.ProvinceId, m_Sys_CitySite.Keyid, 3); // this.selectCounty.DataTextField = "Name"; // this.selectCounty.DataValueField = "Keyid"; // this.selectCounty.DataBind(); // } // this.selectCounty.Items.Insert(0, new ListItem("全部", "")); //} protected void btn_Submit_Click(object sender, EventArgs e) { var files = Request.Files; if (files.Count <= 0) return; var file = files[0]; if (file == null) { JavaScript.MessageBox("请选择文件", this); return; } //初始化上传参数 var maxSize = 1024 * 1024 * 5; //上传大小5M var fileName = file.FileName; var fileExt = Path.GetExtension(fileName).ToLowerInvariant(); //检查大小 if (file.ContentLength > maxSize) { JavaScript.MessageBox("上传文件大小超过限制,最大允许上传5M", this); return; } string FileTypes = "xlsx";//xls, //检查文件扩展名 if (string.IsNullOrEmpty(fileExt) || Array.IndexOf(FileTypes.Split(','), fileExt.Substring(1).ToLower()) == -1) { JavaScript.MessageBox("上传文件扩展名是不允许的扩展名,请上传后缀名为:" + FileTypes, this); return; } var lie = new List(); using (var fileStream = file.InputStream) { // 使用HSSFWorkbook打开.xls格式的文件 IWorkbook workbook = new XSSFWorkbook(fileStream); // 获取第一个工作表 ISheet sheet = workbook.GetSheetAt(0); // 迭代工作表中的所有行 for (int i = 1; i <= sheet.LastRowNum; i++) { var hang = new JiHuaOrder(); IRow row = sheet.GetRow(i); if (row == null) continue; // 跳过空行 ICell cell0 = row.GetCell(0); if (cell0 == null) { JavaScript.MessageBox("第" + (i + 1) + "市不能为空", this); return; } hang.shi = getcellvalue(cell0); ICell cell1 = row.GetCell(1); if (cell1 == null) { JavaScript.MessageBox("第" + (i + 1) + "区县不能为空", this); return; } hang.quxian = getcellvalue(cell1); ICell cell2 = row.GetCell(2); if (cell2 == null) { JavaScript.MessageBox("第" + (i + 1) + "片区不能为空", this); return; } hang.pianqu = getcellvalue(cell2); ICell cell3 = row.GetCell(3); if (cell3 == null) { JavaScript.MessageBox("第" + (i + 1) + "学校不能为空", this); return; } hang.shipAddress = getcellvalue(cell3); ICell cell4 = row.GetCell(4); if (cell4 == null) { JavaScript.MessageBox("第" + (i + 1) + "联系人不能为空", this); return; } hang.shipName = getcellvalue(cell4); ICell cell5 = row.GetCell(5); if (cell5 == null) { JavaScript.MessageBox("第" + (i + 1) + "联系电话不能为空", this); return; } hang.shipMobile = getcellvalue(cell5); ICell cell6 = row.GetCell(6); if (cell6 == null) { JavaScript.MessageBox("第" + (i + 1) + "收货地址不能为空", this); return; } hang.shouhuoAddress = getcellvalue(cell6); ICell cell7 = row.GetCell(7); if (cell7 == null) { JavaScript.MessageBox("第" + (i + 1) + "商品名称不能为空", this); return ; } hang.name = getcellvalue(cell7); ICell cell8 = row.GetCell(8); if (cell8 == null) { JavaScript.MessageBox("第" + (i + 1) + "规格不能为空", this); return ; } hang.specification = getcellvalue(cell8); //ICell cell9 = row.GetCell(9); //if (cell9 == null) //{ // JavaScript.MessageBox("第" + (i + 1) + "单价(元)不能为空", this); // return ; //} //hang.price = decimal.Parse(getcellvalue(cell9)); ICell cell9 = row.GetCell(9); if (cell9 == null) { JavaScript.MessageBox("第" + (i + 1) + "数量不能为空", this); return ; } int aaa = 0; int.TryParse(getcellvalue(cell9), out aaa); hang.nums = aaa; lie.Add(hang); } } if (lie != null && lie.Count > 0) { if (string.IsNullOrEmpty(lie[0].shi)) { JavaScript.MessageBox("第" + 1 + "市不能为空", this); return; } if (string.IsNullOrEmpty(lie[0].quxian)) { JavaScript.MessageBox("第" + 1 + "区县不能为空", this); return; } for (int i = 0; i < lie.Count; i++) { if (!string.IsNullOrEmpty(lie[i].shipAddress)) { if (string.IsNullOrEmpty(lie[i].shipMobile)) { JavaScript.MessageBox("第" + (i + 1) + "联系电话不能为空", this); return; } } if (string.IsNullOrEmpty(lie[i].name)) { JavaScript.MessageBox("第" + (i + 1) + "商品名称不能为空", this); return; } if (string.IsNullOrEmpty(lie[i].specification)) { JavaScript.MessageBox("第" + (i + 1) + "规格不能为空", this); return; } } } var orderid = HideKeyid.Value; var sys_CitySites = bll_Sys_CitySiteBLL.SelectAllModel(null).ToList(); var eC_OrderPrintParameter = _OrderPrintParameterBLL.GetModel(orderid.ToInt32().Value); ; InquiryCommonModel model = SerializationHelper.DeSerialize(typeof(InquiryCommonModel), eC_OrderPrintParameter.PrintParameter) as InquiryCommonModel; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted, Timeout = TransactionManager.MaximumTimeout } )) { string pianqu = ""; if (lie != null && lie.Count > 0) { var order = new List(); for (int i = 0; i < lie.Count; i++) { if (i == 0) { order.Add(lie[i]); pianqu = lie[i].pianqu; } else { if (string.IsNullOrEmpty(lie[i].shipAddress)) { order.Add(lie[i]); } else { //保存订单 //jm = await _coreCmsPlanOrderServices.ToAddJiHua(order, _user.ID, _user.Name); //if (jm.code == 1) //{ // return jm; //} string res = saveorder(order,model.InquiryWorkBookList,sys_CitySites); if (!string.IsNullOrEmpty(res)) { JavaScript.MessageBox(res, this); return; } order = new List(); if (string.IsNullOrEmpty(lie[i].shi)) { lie[i].shi = lie[0].shi; } if (string.IsNullOrEmpty(lie[i].quxian)) { lie[i].quxian = lie[0].quxian; } if (string.IsNullOrEmpty(lie[i].pianqu)) { lie[i].pianqu = pianqu; } else { pianqu = lie[i].pianqu; } order.Add(lie[i]); } } if (i == lie.Count - 1) { //保存订单 //jm = await _coreCmsPlanOrderServices.ToAddJiHua(order, _user.ID, _user.Name); //if (jm.code == 1) //{ // return jm; //} string res = saveorder(order, model.InquiryWorkBookList, sys_CitySites); if (!string.IsNullOrEmpty(res)) { JavaScript.MessageBox(res, this); return; } } } } else { JavaScript.MessageBox("表格无数据", this); return; } scope.Complete(); } var sss = _eC_OrderBasicBLL.UpdateorderJine(orderid.ToInt32().Value); JavaScript.MessageBox("上传文件成功", this); BindList(); return; } /// /// 计划订单上传接口 /// /// public string getcellvalue(ICell cell) { string cellvalue = ""; switch (cell.CellType) { case CellType.String: // Console.WriteLine(cell.StringCellValue); cellvalue = cell.StringCellValue.Trim(); break; case CellType.Numeric: //Console.WriteLine(cell.NumericCellValue); cellvalue = cell.NumericCellValue.ToString().Trim(); break; case CellType.Boolean: //Console.WriteLine(cell.BooleanCellValue); cellvalue = cell.BooleanCellValue.ToString().Trim(); break; case CellType.Error: // Console.WriteLine(cell.ErrorCellValue); cellvalue = cell.ErrorCellValue.ToString().Trim(); break; case CellType.Blank: // Console.WriteLine(cell.ErrorCellValue); cellvalue = ""; break; // 可以添加其他类型的case } return cellvalue; } /// /// 计划订单上传接口 /// /// public string saveorder(List jiHuaOrders , List InquiryWorkBookList,List sys_CitySites) { var coreCmsPlanOrder = _PlanOrderBLL.GetModelByorderid(HideKeyid.Value.ToInt32().Value).Where(x=>x.shipAddress == jiHuaOrders[0].shipAddress && x.shouhuoAddress == jiHuaOrders[0].shouhuoAddress).FirstOrDefault() ; if(coreCmsPlanOrder == null) { CoreCmsPlanOrder order = new CoreCmsPlanOrder(); order.status = 1; order.shipMobile = jiHuaOrders[0].shipMobile; order.shipAddress = jiHuaOrders[0].shipAddress; order.shipName = jiHuaOrders[0].shipName; order.shouhuoAddress = jiHuaOrders[0].shouhuoAddress; order.userMobile = jiHuaOrders[0].shipMobile; order.createBy = CurrentUser.ShortName; order.createTime = DateTime.Now; order.upDataBy = CurrentUser.ShortName; order.upDataTime = DateTime.Now; order.isdelete = false; order.orderkeyid = HideKeyid.Value.ToInt32(); order.FirmId = CurrentUser.MemberId; order.sheng = "四川省"; order.shi = jiHuaOrders[0].shi; order.quxian = jiHuaOrders[0].quxian; var sheng = sys_CitySites.FirstOrDefault(x => x.Name == order.sheng); if (sheng != null) { order.shengId = sheng.Keyid; var shi = sys_CitySites.FirstOrDefault(x => x.Name == order.shi && x.ProvinceId == sheng.Keyid); if (shi != null) { order.shiId = shi.Keyid; var quxian = sys_CitySites.FirstOrDefault(x => x.Name == order.quxian && x.CityId == shi.Keyid); if (quxian != null) { order.quxianId = quxian.Keyid; } } } order.pianqu = jiHuaOrders[0].pianqu; decimal orderAmount = 0; var cmsPlanOrderItems = new List(); for (int i = 0; i < jiHuaOrders.Count; i++) { var workbook = InquiryWorkBookList.FirstOrDefault(x => x.WorkBookNameTxt == jiHuaOrders[i].name && x.WorkBookSizeTxt == jiHuaOrders[i].specification); if (workbook == null) { // JavaScript.MessageBox(jiHuaOrders[i].name + " " + jiHuaOrders[i].specification + "没找到单价", this); return jiHuaOrders[i].name + " " + jiHuaOrders[i].specification + "没找到单价"; } var item = new CoreCmsPlanOrderItem(); item.orderId = 0; item.name = jiHuaOrders[i].name; item.specification = jiHuaOrders[i].specification; item.price = workbook.WorkBookPrice.ToDecimal2().Value;//jiHuaOrders[i].price; item.fengmian = string.IsNullOrEmpty(workbook.fengmian) ? "" : workbook.fengmian; item.neiye = string.IsNullOrEmpty(workbook.neiye) ? "" : workbook.neiye; item.nums = jiHuaOrders[i].nums; ; item.amount = item.price * (decimal)jiHuaOrders[i].nums; item.createBy = CurrentUser.ShortName; item.createTime = DateTime.Now; item.upDataBy = CurrentUser.ShortName; item.upDataTime = DateTime.Now; item.isdelete = false; item.isOld = true; cmsPlanOrderItems.Add(item); orderAmount += item.amount; } order.orderAmount = orderAmount; order.oldOrderAmount = orderAmount; order.keYongAmount = 0; order.huaFeiAmount = 0; var id = _PlanOrderBLL.InsertModelIden(order); var sss = false; foreach (var cmsPlanOrderItem in cmsPlanOrderItems) { cmsPlanOrderItem.orderId = id; sss = _PlanOrderBLL.insertModelOrderItem(cmsPlanOrderItem); } } return ""; } } }