public List <AscmContainerDelivery> GetCurrentList(string containerSn, string sessionKey) { List <AscmContainerDelivery> list = null; try { string sort = " order by id desc "; string sql = "from AscmContainerDelivery where containerSn='" + containerSn + "'"; //IList<AscmContainerDelivery> ilist = YnDaoHelper.GetInstance().nHibernateHelper.Find<AscmContainerDelivery>(sql); YnPage ynPage = new YnPage(); ynPage.SetPageSize(1); ynPage.SetCurrentPage(1); IList <AscmContainerDelivery> ilist = YnDaoHelper.GetInstance().nHibernateHelper.Find <AscmContainerDelivery>(sql + sort, sql, ynPage, sessionKey); //IList<AscmContainerDelivery> ilist = YnDaoHelper.GetInstance().nHibernateHelper.Find<AscmContainerDelivery>(sql, sessionKey); if (ilist != null && ilist.Count > 0) { foreach (AscmContainerDelivery ascmContainerDelivery in ilist) { ascmContainerDelivery.ascmDeliBatSumMain = AscmDeliBatSumMainService.GetInstance().Get(ascmContainerDelivery.batSumMainId, sessionKey); ascmContainerDelivery.ascmDeliveryOrderBatch = AscmDeliveryOrderBatchService.GetInstance().Get(ascmContainerDelivery.deliveryOrderBatchId, sessionKey); } list = YnBaseClass2.Helper.ConvertHelper.ConvertIListToList <AscmContainerDelivery>(ilist); //AscmDeliBatSumMain ascmDeliBatSumMain = YnDaoHelper.GetInstance().nHibernateHelper.Get<AscmDeliBatSumMain>(ilist[0].batSumMainId, sessionKey); //if (ascmDeliBatSumMain != null && (ascmDeliBatSumMain.status == AscmDeliBatSumMain.StatusDefine.outPlant || ascmDeliBatSumMain.status == AscmDeliBatSumMain.StatusDefine.confirm)) //{ // sql = "from AscmContainerDelivery where batSumMainId =" + ilist[0].batSumMainId + " and containerSn='" + containerSn + "'"; // ilist = YnDaoHelper.GetInstance().nHibernateHelper.Find<AscmContainerDelivery>(sql, sessionKey); // if (ilist != null) // { // list = YnBaseClass2.Helper.ConvertHelper.ConvertIListToList<AscmContainerDelivery>(ilist); // } //} } } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("查询失败(Find AscmContainerDelivery)", ex); throw ex; } return(list); }
public void SetDeliveryOrderBatch(List <AscmDeliBatSumDetail> list, bool setComments = false) { if (list != null && list.Count > 0) { List <AscmDeliveryOrderBatch> listDeliveryOrderBatch = new List <AscmDeliveryOrderBatch>(); var batchIds = list.Select(P => P.batchId).Distinct(); var count = batchIds.Count(); string ids = string.Empty; for (int i = 0; i < count; i++) { if (!string.IsNullOrEmpty(ids)) { ids += ","; } ids += batchIds.ElementAt(i); if ((i + 1) % 500 == 0 || (i + 1) == count) { if (!string.IsNullOrEmpty(ids)) { string hql = "from AscmDeliveryOrderBatch where id in (" + ids + ")"; if (setComments) { hql = string.Format("select new AscmDeliveryOrderBatch(adob,({0})) from AscmDeliveryOrderBatch adob where id in (" + ids + ")", "select comments from AscmDeliveryOrderMain where batchId=adob.id and comments is not null and rownum=1"); } List <AscmDeliveryOrderBatch> _listDeliveryOrderBatch = AscmDeliveryOrderBatchService.GetInstance().GetList(hql); if (_listDeliveryOrderBatch != null) { listDeliveryOrderBatch.AddRange(_listDeliveryOrderBatch); } } ids = string.Empty; } } if (listDeliveryOrderBatch.Count > 0) { list.ForEach(P => P.ascmDeliveryOrderBatch = listDeliveryOrderBatch.Find(T => T.id == P.batchId)); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //提取数据 string queryWord = ""; string whereOther = "", whereSupplier = "", whereWarehouse = ""; string whereStartCreateTime = "", whereEndCreateTime = "", whereStatus = ""; if (Request.QueryString["queryWord"] != null && Request.QueryString["queryWord"].ToString().Trim() != "" && Request.QueryString["queryWord"].ToString().Trim() != "null") { queryWord = Request.QueryString["queryWord"].ToString(); } if (Request.QueryString["supplier"] != null && Request.QueryString["supplier"].ToString().Trim() != "" && Request.QueryString["supplier"].ToString().Trim() != "null") { whereSupplier = "supplierId = '" + Request.QueryString["supplier"].ToString() + "'"; } if (Request.QueryString["warehouse"] != null && Request.QueryString["warehouse"].ToString().Trim() != "" && Request.QueryString["warehouse"].ToString().Trim() != "null") { whereWarehouse = "warehouseId = '" + Request.QueryString["warehouse"].ToString() + "'"; } if (Request.QueryString["status"] != null && Request.QueryString["status"].ToString().Trim() != "" && Request.QueryString["status"].ToString().Trim() != "null") { whereStatus = "status = '" + Request.QueryString["status"].ToString() + "'"; } DateTime dtStartCreateTime, dtEndCreateTime; if (Request.QueryString["startCreateTime"] != null && Request.QueryString["startCreateTime"].ToString().Trim() != "" && Request.QueryString["startCreateTime"].ToString().Trim() != "null" && DateTime.TryParse(Request.QueryString["startCreateTime"].ToString().Trim(), out dtStartCreateTime)) { whereStartCreateTime = "createTime>='" + dtStartCreateTime.ToString("yyyy-MM-dd 00:00:00") + "'"; } if (Request.QueryString["endCreateTime"] != null && Request.QueryString["endCreateTime"].ToString().Trim() != "" && Request.QueryString["endCreateTime"].ToString().Trim() != "null" && DateTime.TryParse(Request.QueryString["endCreateTime"].ToString().Trim(), out dtEndCreateTime)) { whereEndCreateTime = "createTime<'" + dtEndCreateTime.AddDays(1).ToString("yyyy-MM-dd 00:00:00") + "'"; } whereOther = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(whereOther, whereSupplier); whereOther = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(whereOther, whereWarehouse); whereOther = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(whereOther, whereStartCreateTime); whereOther = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(whereOther, whereEndCreateTime); whereOther = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(whereOther, whereStatus); //whereOther = YnBaseClass2.Helper.StringHelper.SqlWhereAndAdd(whereOther, whereMaterialItem); YnBaseDal.YnPage ynPage = new YnBaseDal.YnPage(); ynPage.SetPageSize(500); //pageRows; ynPage.SetCurrentPage(1); //pageNumber; List <AscmDeliveryOrderBatch> listAscmDeliveryOrderBatch = AscmDeliveryOrderBatchService.GetInstance().GetList(ynPage, "", "", queryWord, whereOther); ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; ReportViewer1.LocalReport.ReportPath = Server.MapPath("DeliveryOrderBatchReport.rdlc"); ReportDataSource rds1 = new ReportDataSource(); rds1.Name = "DataSet1"; rds1.Value = listAscmDeliveryOrderBatch; ReportViewer1.LocalReport.DataSources.Clear();//好像不clear也可以 ReportViewer1.LocalReport.DataSources.Add(rds1); //string companpyTitle = YnParameterService.GetInstance().GetValue(MyParameter.companpyTitle); string companpyTitle = "美的中央空调"; string title = companpyTitle + "批送货单统计报表"; ReportParameter[] reportParameters = new ReportParameter[] { new ReportParameter("ReportParameter_Title", title), new ReportParameter("ReportParameter_ReportTime", "打印时间:" + DateTime.Now.ToString("yyyy-MM-dd")) }; ReportViewer1.LocalReport.SetParameters(reportParameters); ReportViewer1.LocalReport.Refresh(); //ReportViewer1.LocalReport.Refresh(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { YnFrame.Dal.Entities.YnUser ynUser = YnFrame.Web.FormsAuthenticationService.GetInstance().GetTicketUserData(); if (ynUser == null) { throw new Exception("用户错误!"); } AscmUserInfo ascmUserInfo = AscmUserInfoService.GetInstance().Get(ynUser.userId); if (ascmUserInfo.extExpandType != "erp") { throw new Exception("供应商用户错误!"); } AscmUserInfoService.GetInstance().SetSupplier(ascmUserInfo); if (ascmUserInfo.ascmSupplier == null) { throw new Exception("供应商用户错误!"); } //提取数据 List <AscmDeliBatSumDetail> list = new List <AscmDeliBatSumDetail>(); string ids = Request.QueryString["ids"]; if (!string.IsNullOrEmpty(ids)) { YnBaseDal.YnPage ynPage = new YnBaseDal.YnPage(); ynPage.SetPageSize(500); //pageRows; ynPage.SetCurrentPage(1); //pageNumber; list = AscmDeliBatSumDetailService.GetInstance().GetList("from AscmDeliBatSumDetail where id in(" + ids + ")"); AscmDeliBatSumDetailService.GetInstance().SetMaterial(list); AscmDeliBatSumDetailService.GetInstance().SetDeliveryOrderBatch(list); List <AscmDeliveryOrderBatch> listDeliveryOrderBatch = new List <AscmDeliveryOrderBatch>(); list.ForEach(P => listDeliveryOrderBatch.Add( new AscmDeliveryOrderBatch { id = P.batchId })); //获取货位分配 AscmDeliveryOrderBatchService.GetInstance().SetAssignWarelocation(listDeliveryOrderBatch); list.ForEach(P => P.assignWarelocation = listDeliveryOrderBatch.Find(T => T.id == P.batchId).assignWarelocation); //条码 foreach (AscmDeliBatSumDetail ascmDeliBatSumDetail in list) { System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); if (ascmDeliBatSumDetail.ascmMaterialItem != null && ascmDeliBatSumDetail.ascmMaterialItem.docNumber != null) { #region Code128 MideaAscm.Code.BarCode128 barCode128 = new Code.BarCode128(); barCode128.TitleFont = new Font("宋体", 10); barCode128.HeightImage = 50; Bitmap bitmap = barCode128.GetCodeImage(ascmDeliBatSumDetail.ascmMaterialItem.docNumber, ascmDeliBatSumDetail.ascmMaterialItem.docNumber, Code.BarCode128.Encode.Code128B); bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Gif); bitmap.Dispose(); #endregion #region Code39 //YnBaseClass2.Helper.BarCode39 barCode39 = new YnBaseClass2.Helper.BarCode39(); //barCode39.WidthCU = 10; //barCode39.WidthXI = 3; //System.Drawing.Bitmap bitmap = barCode39.CreateBarCode(ascmDeliBatSumDetail.ascmMaterialItem.docNumber, ascmDeliBatSumDetail.ascmMaterialItem.docNumber, 0, 0); ////生成图片 ////System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); //bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Gif); //bitmap.Dispose(); #endregion } ascmDeliBatSumDetail.materialBarcode = memoryStream.ToArray(); } } ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; ReportViewer1.LocalReport.ReportPath = Server.MapPath("SupplierDriverDeliveryBarCodeReport.rdlc"); ReportDataSource rds1 = new ReportDataSource(); rds1.Name = "DataSet1"; rds1.Value = list; ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(rds1); string companpyTitle = "美的中央空调"; string title = companpyTitle + "供应商送货合单条码"; ReportParameter[] reportParameters = new ReportParameter[] { new ReportParameter("ReportParameter_SupplierName", ascmUserInfo.ascmSupplier.name) }; ReportViewer1.LocalReport.SetParameters(reportParameters); ReportViewer1.LocalReport.Refresh(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { YnFrame.Dal.Entities.YnUser ynUser = YnFrame.Web.FormsAuthenticationService.GetInstance().GetTicketUserData(); if (ynUser == null) { throw new Exception("用户错误!"); } AscmUserInfo ascmUserInfo = AscmUserInfoService.GetInstance().Get(ynUser.userId); if (ascmUserInfo.extExpandType != "erp") { throw new Exception("供应商用户错误!"); } AscmUserInfoService.GetInstance().SetSupplier(ascmUserInfo); if (ascmUserInfo.ascmSupplier == null) { throw new Exception("供应商用户错误!"); } //打印的数据 List <AscmDeliBatSumDetail> sumList = new List <AscmDeliBatSumDetail>(); //最后一个装箱 AscmDeliBatSumDetail lastDetail = new AscmDeliBatSumDetail(); string ids = Request.QueryString["ids"]; string unitIds = Request.QueryString["unitIds"]; string[] listId = ids.Split(','); string[] listUnitId = unitIds.Split(','); if (!string.IsNullOrEmpty(ids)) { List <AscmDeliBatSumDetail> list = new List <AscmDeliBatSumDetail>(); for (int i = 0; i < listId.Count(); i++) { AscmDeliBatSumDetail ascmDeliBatSumDetail = AscmDeliBatSumDetailService.GetInstance().Get(Int32.Parse(listId[i])); AscmContainerUnitQuantity ascmContainerUnitQuantity = AscmContainerUnitQuantityService.GetInstance().Get(Int32.Parse(listUnitId[i])); ascmDeliBatSumDetail.container = ascmContainerUnitQuantity.container; ascmDeliBatSumDetail.materialUnitQuantity = ascmContainerUnitQuantity.unitQuantity; ascmDeliBatSumDetail.containerUnitQuantityId = ascmContainerUnitQuantity.id; list.Add(ascmDeliBatSumDetail); } if (list != null) { AscmDeliBatSumDetailService.GetInstance().SetMaterial(list); AscmDeliBatSumDetailService.GetInstance().SetDeliveryOrderBatch(list); List <AscmDeliveryOrderBatch> listDeliveryOrderBatch = new List <AscmDeliveryOrderBatch>(); list.ForEach(P => listDeliveryOrderBatch.Add( new AscmDeliveryOrderBatch { id = P.batchId })); //获取货位分配 AscmDeliveryOrderBatchService.GetInstance().SetAssignWarelocation(listDeliveryOrderBatch); list.ForEach(P => P.assignWarelocation = listDeliveryOrderBatch.Find(T => T.id == P.batchId).assignWarelocation); foreach (AscmDeliBatSumDetail ascmDeliBatSumDetail in list) { //条码 System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); if (ascmDeliBatSumDetail.ascmMaterialItem.docNumber != null) { #region Code128 MideaAscm.Code.BarCode128 barCode128 = new Code.BarCode128(); barCode128.TitleFont = new System.Drawing.Font("宋体", 10); barCode128.HeightImage = 50; System.Drawing.Bitmap bitmap = barCode128.GetCodeImage(ascmDeliBatSumDetail.batchBarCode, ascmDeliBatSumDetail.batchBarCode, Code.BarCode128.Encode.Code128B); bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Gif); bitmap.Dispose(); #endregion #region Code39 //YnBaseClass2.Helper.BarCode39 barCode39 = new YnBaseClass2.Helper.BarCode39(); //barCode39.WidthCU = 10; //barCode39.WidthXI = 3; //System.Drawing.Bitmap bitmap = barCode39.CreateBarCode(ascmDeliBatSumDetail.ascmMaterialItem.docNumber, ascmDeliBatSumDetail.ascmMaterialItem.docNumber, 0, 0); ////生成图片 ////System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); //bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Gif); //bitmap.Dispose(); #endregion } ascmDeliBatSumDetail.materialBarcode = memoryStream.ToArray(); decimal totalNumber = ascmDeliBatSumDetail.totalNumber; //总数量 decimal unitQuantity = ascmDeliBatSumDetail.materialUnitQuantity; //单元数 //decimal unitQuantity = 10; decimal count = decimal.Truncate(totalNumber / unitQuantity); //箱数量>=0 decimal rest = totalNumber % unitQuantity; //剩余数量>=0 //设置装箱数 2015.3.26 //总数 < 单元数 ,仅有一个箱子,总数 = 剩余数量 if (count == 0) { count = 1; } else { //有剩余数量,多出一箱 if (rest != 0) { count = count + 1; } } for (int i = 0; i < count; i++) { //最后一个为剩余数量 if (i == count - 1 && rest != 0) { lastDetail.ascmDeliveryOrderBatch = ascmDeliBatSumDetail.ascmDeliveryOrderBatch; lastDetail.ascmMaterialItem = ascmDeliBatSumDetail.ascmMaterialItem; lastDetail.assignWarelocation = ascmDeliBatSumDetail.assignWarelocation; lastDetail.materialUnitQuantity = rest; sumList.Add(lastDetail); } else { sumList.Add(ascmDeliBatSumDetail); } } } } } ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; ReportViewer1.LocalReport.ReportPath = Server.MapPath("SupplierDriverDeliveryDetialBarCodeReport.rdlc"); ReportDataSource rds1 = new ReportDataSource(); rds1.Name = "DataSet1"; rds1.Value = sumList; ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(rds1); string companpyTitle = "美的中央空调"; string title = companpyTitle + "供应商送货批单条码"; ReportParameter[] reportParameters = new ReportParameter[] { new ReportParameter("ReportParameter_SupplierName", ascmUserInfo.ascmSupplier.name) }; ReportViewer1.LocalReport.SetParameters(reportParameters); ReportViewer1.LocalReport.Refresh(); } }