コード例 #1
0
 public void Update(AscmDeliBatSumDetail ascmDeliBatSumDetail)
 {
     try
     {
         using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction())
         {
             try
             {
                 YnDaoHelper.GetInstance().nHibernateHelper.Update <AscmDeliBatSumDetail>(ascmDeliBatSumDetail);
                 tx.Commit();//正确执行提交
             }
             catch (Exception ex)
             {
                 tx.Rollback();//回滚
                 YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmDeliBatSumDetail)", ex);
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Save AscmDeliBatSumDetail)", ex);
         throw ex;
     }
 }
コード例 #2
0
        public AscmDeliBatSumDetail GetByBatchId(int batchId)
        {
            AscmDeliBatSumDetail ascmDeliBatSumDetail = null;

            try
            {
                string containerBindNumber = "select sum(quantity) from AscmContainerDelivery where deliveryOrderBatchId=a.batchId";
                string palletBindNumber    = "select sum(quantity) from AscmPalletDelivery where deliveryOrderBatchId=a.batchId";
                string driverBindNumber    = "select sum(quantity) from AscmDriverDelivery where deliveryOrderBatchId=a.batchId";
                string receivedQuantity    = "select sum(receivedQuantity) from AscmDeliBatOrderLink where batchId=a.batchId";
                string sql = "select new AscmDeliBatSumDetail(a,(" + containerBindNumber + "),(" + palletBindNumber + "),(" + driverBindNumber + "),(" + receivedQuantity + ")) from AscmDeliBatSumDetail a ";
                sql += " where batchId=" + batchId;

                IList <AscmDeliBatSumDetail> ilist = YnDaoHelper.GetInstance().nHibernateHelper.Find <AscmDeliBatSumDetail>(sql);
                if (ilist != null && ilist.Count > 0)
                {
                    ascmDeliBatSumDetail = ilist.First();
                    AscmDeliveryOrderBatch ascmDeliveryOrderBatch = YnDaoHelper.GetInstance().nHibernateHelper.Get <AscmDeliveryOrderBatch>(batchId);
                    ascmDeliBatSumDetail.ascmDeliveryOrderBatch = ascmDeliveryOrderBatch;
                    AscmMaterialItem ascmMaterialItem = YnDaoHelper.GetInstance().nHibernateHelper.Get <AscmMaterialItem>(ascmDeliBatSumDetail.materialId);
                    ascmDeliBatSumDetail.ascmMaterialItem = ascmMaterialItem;
                }
            }
            catch (Exception ex)
            {
                YnBaseClass2.Helper.LogHelper.GetLog().Error("查询失败(Find AscmDeliBatSumDetail)", ex);
                throw ex;
            }
            return(ascmDeliBatSumDetail);
        }
コード例 #3
0
 public void Delete(AscmDeliBatSumDetail ascmDeliBatSumDetail)
 {
     try
     {
         YnDaoHelper.GetInstance().nHibernateHelper.Delete <AscmDeliBatSumDetail>(ascmDeliBatSumDetail);
     }
     catch (Exception ex)
     {
         YnBaseClass2.Helper.LogHelper.GetLog().Error("删除失败(Delete AscmDeliBatSumDetail)", ex);
         throw ex;
     }
 }
コード例 #4
0
 public void Delete(int id)
 {
     try
     {
         AscmDeliBatSumDetail ascmDeliBatSumDetail = Get(id);
         Delete(ascmDeliBatSumDetail);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #5
0
        public AscmDeliBatSumDetail Get(int id)
        {
            AscmDeliBatSumDetail ascmDeliBatSumDetail = null;

            try
            {
                ascmDeliBatSumDetail = YnDaoHelper.GetInstance().nHibernateHelper.Get <AscmDeliBatSumDetail>(id);
            }
            catch (Exception ex)
            {
                YnBaseClass2.Helper.LogHelper.GetLog().Error("查询失败(Get AscmDeliBatSumDetail)", ex);
                throw ex;
            }
            return(ascmDeliBatSumDetail);
        }
コード例 #6
0
        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();
            }
        }