public AscmWmsPreparationDetail(AscmWmsPreparationDetail preparationDetail, string locationDocNumber, string wipEntityName, decimal containerBindNumber) { GetOwner(preparationDetail); this.locationDocNumber = locationDocNumber; this.wipEntityName = wipEntityName; this.containerBindNumber = containerBindNumber; }
public void Delete(AscmWmsPreparationDetail ascmWmsPreparationDetail) { try { YnDaoHelper.GetInstance().nHibernateHelper.Delete<AscmWmsPreparationDetail>(ascmWmsPreparationDetail); } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("删除失败(Delete AscmWmsPreparationDetail)", ex); throw ex; } }
public void GetOwner(AscmWmsPreparationDetail preparationDetail) { this.id = preparationDetail.id; this.createUser = preparationDetail.createUser; this.createTime = preparationDetail.createTime; this.modifyUser = preparationDetail.modifyUser; this.modifyTime = preparationDetail.modifyTime; this.mainId = preparationDetail.mainId; this.materialId = preparationDetail.materialId; this.warehouseId = preparationDetail.warehouseId; this.wipSupplyType = preparationDetail.wipSupplyType; this.warelocationId = preparationDetail.warelocationId; this.planQuantity = preparationDetail.planQuantity; //this.quantity = preparationDetail.quantity; this.wipEntityId = preparationDetail.wipEntityId; this.issueQuantity = preparationDetail.issueQuantity; this.sendLogisticsQuantity = preparationDetail.sendLogisticsQuantity; }
public AscmWmsPreparationDetail(AscmWmsPreparationDetail preparationDetail, string materialDocNumber) { GetOwner(preparationDetail); this.materialDocNumber = materialDocNumber; }
public AscmWmsPreparationDetail(AscmWmsPreparationDetail preparationDetail, decimal containerBindNumber) { GetOwner(preparationDetail); this.containerBindNumber = containerBindNumber; }
public void Update(AscmWmsPreparationDetail ascmWmsPreparationDetail) { try { using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction()) { try { YnDaoHelper.GetInstance().nHibernateHelper.Update<AscmWmsPreparationDetail>(ascmWmsPreparationDetail); tx.Commit();//正确执行提交 } catch (Exception ex) { tx.Rollback();//回滚 YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmWmsPreparationDetail)", ex); throw ex; } } } catch (Exception ex) { YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Save AscmWmsPreparationDetail)", ex); throw ex; } }
public AscmWmsPreparationDetail(AscmWmsPreparationDetail preparationDetail, string materialDocNumber, string materialName) { GetOwner(preparationDetail); this.materialDocNumber = materialDocNumber; this.materialName = materialName; }
public string GetKeeperCurrentPreparationSumDetailList(string ticket, int mainId, ref string message) { try { message = ""; //if (!IsTicketValid(ticket)) // throw new Exception("票证验证失败!"); List<AscmWmsPreparationDetail> listAscmWmsPreparationDetailSum = new List<AscmWmsPreparationDetail>(); //合计相同的物料 List<AscmWmsPreparationDetail> listAscmWmsPreparationDetail = AscmWmsPreparationDetailService.GetInstance().GetListByMainId(mainId); if (listAscmWmsPreparationDetail != null && listAscmWmsPreparationDetail.Count > 0) { int i = 0; var groupByMaterial = listAscmWmsPreparationDetail.GroupBy(P => P.materialId); foreach (IGrouping<int, AscmWmsPreparationDetail> ig in groupByMaterial) { AscmWmsPreparationDetail _ascmWmsPreparationDetail = ig.First(); AscmWmsPreparationDetail ascmWmsPreparationDetail = new AscmWmsPreparationDetail(); ascmWmsPreparationDetail.id = ++i; ascmWmsPreparationDetail.mainId = _ascmWmsPreparationDetail.mainId; ascmWmsPreparationDetail.materialId = ig.Key; ascmWmsPreparationDetail.ascmMaterialItem = _ascmWmsPreparationDetail.ascmMaterialItem; ascmWmsPreparationDetail.warehouseId = _ascmWmsPreparationDetail.warehouseId; ascmWmsPreparationDetail.wipSupplyType = _ascmWmsPreparationDetail.wipSupplyType; ascmWmsPreparationDetail.planQuantity = ig.Sum(P => P.planQuantity); ascmWmsPreparationDetail.quantity = ig.Sum(P => P.quantity); listAscmWmsPreparationDetailSum.Add(ascmWmsPreparationDetail); } } return YnBaseClass2.Helper.ObjectHelper.Serialize(listAscmWmsPreparationDetailSum); } catch (Exception ex) { message = ex.Message; } return null; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { List<AscmWmsPreparationMain> listAscmWmsPreparationMain = null; List<AscmWmsPreparationDetail> listAscmWmsPreparationDetail = null; List<AscmWmsPreparationDetail> listDetail = new List<AscmWmsPreparationDetail>(); ; AscmWmsPreparationMain ascmWmsPreparationMain = null; List<AscmWipDiscreteJobs> listAscmWipDiscreteJobs = null; string wipSupplyType = ""; string billNoStart = "", billNoEnd = ""; string materialDocNumberStart = "", materialDocNumberEnd = ""; string warehouseIdStart = "", warehouseIdEnd = ""; string scheduledStartDateStart = "", scheduledStartDateEnd = ""; string jobScheduleGroupsStart = "", jobScheduleGroupsEnd = ""; string jobProductionLineStart = "", jobProductionLineEnd = ""; if (!string.IsNullOrEmpty(Request.QueryString["docNumber"])) { string docNumber = Request.QueryString["docNumber"]; if (!string.IsNullOrEmpty(docNumber)) { listAscmWmsPreparationMain = AscmWmsPreparationMainService.GetInstance().GetList(" from AscmWmsPreparationMain where docNumber='" + docNumber + "'"); if (listAscmWmsPreparationMain != null && listAscmWmsPreparationMain.Count() > 0) { YnBaseDal.YnPage ynPage = new YnBaseDal.YnPage(); ynPage.SetPageSize(500); //pageRows; ynPage.SetCurrentPage(1); //pageNumber; ascmWmsPreparationMain = listAscmWmsPreparationMain[0]; //listAscmWmsPreparationDetail = AscmWmsPreparationDetailService.GetInstance().GetSumList(null,"", "", ascmWmsPreparationMain.id, "", ""); //listAscmWmsPreparationDetail = AscmWmsPreparationDetailService.GetInstance().GetList(ynPage,"","",ascmWmsPreparationMain.id,"",""); listAscmWmsPreparationDetail = AscmWmsPreparationDetailService.GetInstance().GetList(null, "", "", ascmWmsPreparationMain.id, "", ""); AscmWmsPreparationDetailService.GetInstance().SetWipDiscreteJobs(listAscmWmsPreparationDetail); List<AscmWarelocation> listAscmWarelocation = AscmWarelocationService.GetInstance().GetList("from AscmWarelocation"); if (listAscmWmsPreparationDetail != null && listAscmWmsPreparationDetail.Count() > 0) { foreach (AscmWmsPreparationDetail ascmWmsPreparationDetail in listAscmWmsPreparationDetail) { var find = listAscmWarelocation.Find(item => item.id == ascmWmsPreparationDetail.warelocationId); if (find != null) ascmWmsPreparationDetail.locationDocNumber = find.docNumber; } billNoStart = listAscmWmsPreparationDetail.OrderBy(item => item.wipEntityName).First().wipEntityName; billNoEnd = listAscmWmsPreparationDetail.OrderBy(item => item.wipEntityName).Last().wipEntityName; materialDocNumberStart = listAscmWmsPreparationDetail.OrderBy(item => item.materialDocNumber).First().materialDocNumber; materialDocNumberEnd = listAscmWmsPreparationDetail.OrderBy(item => item.materialDocNumber).Last().materialDocNumber; warehouseIdStart = listAscmWmsPreparationDetail.OrderBy(item => item.warehouseId).First().warehouseId; warehouseIdEnd = listAscmWmsPreparationDetail.OrderBy(item => item.warehouseId).Last().warehouseId; //wipSupplyType = listAscmWmsPreparationDetail[0].ascmMaterialItem.wipSupplyTypeCn; jobScheduleGroupsStart = listAscmWmsPreparationDetail.OrderBy(item => item.jobScheduleGroupsName).First().jobScheduleGroupsName; jobScheduleGroupsEnd = listAscmWmsPreparationDetail.OrderBy(item => item.jobScheduleGroupsName).Last().jobScheduleGroupsName; jobProductionLineStart = listAscmWmsPreparationDetail.OrderBy(item => item.jobProductionLine).First().jobProductionLine; jobProductionLineEnd = listAscmWmsPreparationDetail.OrderBy(item => item.jobProductionLine).Last().jobProductionLine; //string billIds = ""; var vbillIds = listAscmWmsPreparationDetail.Select(item => item.wipEntityId).Distinct(); if (vbillIds != null) { string billIds = string.Empty; foreach (int billId in vbillIds) { if (!string.IsNullOrEmpty(billIds)) billIds += ","; billIds += "'" + billId + "'"; } if (!string.IsNullOrEmpty(billIds)) { string whereOther = " id in (" + billIds + ")"; listAscmWipDiscreteJobs = AscmWipDiscreteJobsService.GetInstance().GetList(null,"","","",whereOther); scheduledStartDateStart = listAscmWipDiscreteJobs.OrderBy(item => item._scheduledStartDate).First()._scheduledStartDate; scheduledStartDateEnd = listAscmWipDiscreteJobs.OrderBy(item => item._scheduledStartDate).Last()._scheduledStartDate; } } #region 合计 同种物料在一个货位,进行数量合计,同种物料在不同货位,进行分开显示 var groupByMaterial = listAscmWmsPreparationDetail.GroupBy(p => p.materialId); foreach (IGrouping<int, AscmWmsPreparationDetail> ig in groupByMaterial) { //判断此物料的有多少条数据 List<AscmWmsPreparationDetail> list = listAscmWmsPreparationDetail.Where(item => item.materialId == ig.Key).ToList(); if (list != null && list.Count() > 1) { var groupByWarelocation = list.GroupBy(p => p.warelocationId); foreach (IGrouping<int, AscmWmsPreparationDetail> igrouping in groupByWarelocation) { AscmWmsPreparationDetail ascmWmsPreparationDetail_ByWarelocation = igrouping.First(); AscmWmsPreparationDetail ascmWmsPreparationDetail = new AscmWmsPreparationDetail(); ascmWmsPreparationDetail.materialId = igrouping.Key; //ascmWmsPreparationDetail.ascmMaterialItem = ascmWmsPreparationDetail_ByWarelocation.ascmMaterialItem; ascmWmsPreparationDetail.warehouseId = ascmWmsPreparationDetail_ByWarelocation.warehouseId; ascmWmsPreparationDetail.locationDocNumber = ascmWmsPreparationDetail_ByWarelocation.locationDocNumber; ascmWmsPreparationDetail.wipSupplyType = ascmWmsPreparationDetail_ByWarelocation.wipSupplyType; ascmWmsPreparationDetail.planQuantity = igrouping.Sum(P => P.planQuantity); //ascmWmsPreparationDetail.quantity = igrouping.Sum(P => P.quantity); ascmWmsPreparationDetail.issueQuantity = igrouping.Sum(P => P.issueQuantity); ascmWmsPreparationDetail.containerBindNumber = igrouping.Sum(P => P.containerBindNumber); listDetail.Add(ascmWmsPreparationDetail); } } else { AscmWmsPreparationDetail _ascmWmsPreparationDetail = ig.First(); AscmWmsPreparationDetail ascmWmsPreparationDetail = new AscmWmsPreparationDetail(); ascmWmsPreparationDetail.materialId = ig.Key; //ascmWmsPreparationDetail.ascmMaterialItem = _ascmWmsPreparationDetail.ascmMaterialItem; ascmWmsPreparationDetail.warehouseId = _ascmWmsPreparationDetail.warehouseId; ascmWmsPreparationDetail.locationDocNumber = _ascmWmsPreparationDetail.locationDocNumber; ascmWmsPreparationDetail.wipSupplyType = _ascmWmsPreparationDetail.wipSupplyType; ascmWmsPreparationDetail.planQuantity = ig.Sum(P => P.planQuantity); //ascmWmsPreparationDetail.quantity = ig.Sum(P => P.quantity); ascmWmsPreparationDetail.issueQuantity = ig.Sum(P => P.issueQuantity); ascmWmsPreparationDetail.containerBindNumber = ig.Sum(P => P.containerBindNumber); listDetail.Add(ascmWmsPreparationDetail); } } #endregion } #region Code128 System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); MideaAscm.Code.BarCode128 barCode128 = new Code.BarCode128(); barCode128.TitleFont = new System.Drawing.Font("宋体", 10); barCode128.HeightImage = 50; System.Drawing.Bitmap bitmap = barCode128.GetCodeImage(docNumber, docNumber, Code.BarCode128.Encode.Code128B); bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Gif); if (listDetail != null && listDetail.Count() > 0) { listDetail = listDetail.OrderBy(item => item.materialDocNumber).ToList(); listDetail[0].barcodeShow = memoryStream.ToArray(); } bitmap.Dispose(); #endregion #region 条码 Code39 //System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); //YnBaseClass2.Helper.BarCode39 barCode39 = new YnBaseClass2.Helper.BarCode39(); //barCode39.WidthCU = 10; //barCode39.WidthXI = 3; //System.Drawing.Bitmap bitmap = barCode39.CreateBarCode(docNumber, docNumber, 0, 0); //bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Gif); //bitmap.Dispose(); //if (listDetail != null && listDetail.Count()>0) // listDetail[0].barcodeShow = memoryStream.ToArray(); #endregion } } } ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Local; ReportViewer1.LocalReport.ReportPath = Server.MapPath("WmsPreparationReport.rdlc"); ReportDataSource rds1 = new ReportDataSource(); rds1.Name = "DataSet1"; rds1.Value = listDetail; ReportViewer1.LocalReport.DataSources.Clear();//好像不clear也可以 ReportViewer1.LocalReport.DataSources.Add(rds1); string title = "中央空调顺德工厂需求备料单"; //string secondTitle = "车间任务物料需求报表"; string userName = string.Empty; if (User.Identity.IsAuthenticated) userName = User.Identity.Name; ReportParameter[] reportParameters = new ReportParameter[] { new ReportParameter("ReportParameter_Title", title), //new ReportParameter("ReportParameter_secondTitle", secondTitle), new ReportParameter("ReportParameter_ReportTime", "打印时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")), new ReportParameter("ReportParameter_wipSupplyType", "供应类型:" + wipSupplyType), new ReportParameter("ReportParameter_scheduledStartDate", "计划时间从:" +scheduledStartDateStart +" 至 "+scheduledStartDateEnd), new ReportParameter("ReportParameter_BillNo", "任务从:" +billNoStart +" 至 "+billNoEnd), new ReportParameter("ReportParameter_materialDocNumber", "组件从:" +materialDocNumberStart +" 至 "+materialDocNumberEnd), new ReportParameter("ReportParameter_warehouseId", "子库从:" +warehouseIdStart +" 至 "+warehouseIdEnd), new ReportParameter("ReportParameter_jobScheduleGroups", "计划组从:" +jobScheduleGroupsStart +" 至 "+jobScheduleGroupsEnd), new ReportParameter("ReportParameter_jobProductionLine", "生产线从:" +jobProductionLineStart +" 至 "+jobProductionLineEnd), new ReportParameter("ReportParameter_Printer", "打印人:" + userName), }; ReportViewer1.LocalReport.SetParameters(reportParameters); ReportViewer1.LocalReport.Refresh(); } }