Example #1
0
        public ActionResult Approve(MaterialReceiptExDetailQueryViewModel model)
        {
            MethodReturnResult      result   = new MethodReturnResult();
            MaterialReceiptParamter paramter = new MaterialReceiptParamter()
            {
                ReceiptNo = model.ReceiptNo,
                Creator   = User.Identity.Name,
            };

            try
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    result = client.ApproveMaterialReceipt(paramter);
                    if (result.Code == 0)
                    {
                        result.Message = string.Format("审批{0}成功"
                                                       , model.ReceiptNo);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            return(Json(result));
        }
Example #2
0
        public ActionResult Modify(string key)
        {
            MaterialReceiptExViewModel model = new MaterialReceiptExViewModel();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                MethodReturnResult <MaterialReceipt> result = client.Get(key);
                if (result.Code == 0)
                {
                    model = new MaterialReceiptExViewModel()
                    {
                        ReceiptNo   = result.Data.Key,
                        ReceiptDate = result.Data.ReceiptDate,
                        OrderNumber = result.Data.OrderNumber,
                        LineStore   = result.Data.LineStore,
                        Creator     = result.Data.Creator,
                        Editor      = User.Identity.Name
                    };
                    return(PartialView("_ModifyPartial", model));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }

            return(PartialView("_ModifyPartial"));
        }
Example #3
0
        public ActionResult SaveModify(MaterialReceiptExViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                MaterialReceipt MaterialReceipt = new MaterialReceipt()
                {
                    Key         = model.ReceiptNo,
                    ReceiptDate = model.ReceiptDate,
                    OrderNumber = model.OrderNumber,
                    Description = model.Description,
                    LineStore   = model.LineStore,
                    Creator     = model.Creator,
                    Editor      = User.Identity.Name
                };

                result = client.ModifyMaterialReceipt(MaterialReceipt);

                if (result.Code == 0)
                {
                    result.Message = string.Format(LSMResources.StringResource.MaterialReceipt_Save_Success, model.ReceiptNo);
                }
            }
            return(Json(result));
        }
Example #4
0
        public async Task <ActionResult> DetailQuery(MaterialReceiptDetailQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            OrderBy = "CreateTime Desc,Key.ReceiptNo,Key.ItemNo",
                            Where   = GetWhereCondition(model)
                        };
                        MethodReturnResult <IList <MaterialReceiptDetail> > result = client.GetDetail(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_DetailListPartial", new MaterialReceiptDetailViewModel()));
            }
            else
            {
                return(View("Detail", model));
            }
        }
Example #5
0
        public ActionResult Query(MaterialReceiptExQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    StringBuilder where = new StringBuilder();
                    if (model != null)
                    {
                        if (!string.IsNullOrEmpty(model.ReceiptNo))
                        {
                            where.AppendFormat(" {0} Key LIKE '{1}%'"
                                               , where.Length > 0 ? "AND" : string.Empty
                                               , model.ReceiptNo);
                        }
                    }
                    PagingConfig cfg = new PagingConfig()
                    {
                        OrderBy = "CreateTime desc",
                        Where   = where.ToString()
                    };

                    MethodReturnResult <IList <MaterialReceipt> > result = client.Get(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                }
            }
            return(PartialView("_ListPartial"));
        }
Example #6
0
        public ActionResult Delete(string ReceiptNo, string MaterialLotNumber)
        {
            MethodReturnResult            result   = new MethodReturnResult();
            MaterialReceiptDetailParamter paramter = new MaterialReceiptDetailParamter()
            {
                ReceiptNo         = ReceiptNo,
                MaterialLotNumber = MaterialLotNumber,
                Creator           = User.Identity.Name,
                IsReceiptOfCell   = true
            };

            try
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    result = client.DeleteMaterialReceiptDetail(paramter);
                    if (result.Code == 0)
                    {
                        result.Message = string.Format("删除{0}成功"
                                                       , MaterialLotNumber);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            return(Json(result));
        }
Example #7
0
        public ActionResult Save(MaterialReceiptExDetailQueryViewModel model)
        {
            MethodReturnResult            result   = new MethodReturnResult();
            MaterialReceiptDetailParamter paramter = new MaterialReceiptDetailParamter()
            {
                ReceiptNo         = model.ReceiptNo,
                MaterialLotNumber = model.MaterialLot,
                Creator           = User.Identity.Name,
                IsReceiptOfCell   = true
            };

            try
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    result = client.AddMaterialReceiptDetail(paramter);
                    if (result.Code == 0)
                    {
                        result.Message = string.Format("添加{0}成功"
                                                       , model.MaterialLot);
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            return(Json(result));
        }
Example #8
0
        public ActionResult GetMaterialLots(string orderNumber, string lineStoreName, string materialCode)
        {
            //根据工单获取领料记录
            IList <MaterialReceiptDetail> lstMaterialReceipt = new List <MaterialReceiptDetail>();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@" LineStoreName ='{0}' 
                                             AND MaterialCode='{2}'
                                             AND EXISTS(FROM MaterialReceipt as p
                                                        WHERE p.Key=self.Key.ReceiptNo
                                                        AND p.OrderNumber='{1}')"
                                             , lineStoreName
                                             , orderNumber
                                             , materialCode)
                };
                MethodReturnResult <IList <MaterialReceiptDetail> > result = client.GetDetail(ref cfg);
                if (result.Code <= 0 && result.Data != null)
                {
                    lstMaterialReceipt = result.Data;
                }
            }
            //根据物料类型获取物料。
            IList <LineStoreMaterialDetail> lstLineStoreMaterial = new List <LineStoreMaterialDetail>();

            using (LineStoreMaterialServiceClient client = new LineStoreMaterialServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@"Key.LineStoreName ='{0}' 
                                            AND Key.MaterialCode='{1}'
                                            AND Key.OrderNumber='{2}'
                                            AND CurrentQty>0"
                                             , lineStoreName
                                             , materialCode
                                             , orderNumber)
                };
                MethodReturnResult <IList <LineStoreMaterialDetail> > result = client.GetDetail(ref cfg);
                if (result.Code <= 0 && result.Data != null)
                {
                    lstLineStoreMaterial = result.Data;
                }
            }

            var lnq = from item in lstLineStoreMaterial
                      where lstMaterialReceipt.Any(m => m.MaterialLot == item.Key.MaterialLot)
                      select new
            {
                Text  = string.Format("{0}[{1}][{2}]", item.Key.MaterialLot, item.CurrentQty, item.Attr1),
                Value = item.Key.MaterialLot
            };

            return(Json(lnq, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> ParentQuery(MaterialReceiptDetailParentQueryViewModel model)
        {
            LineStoreMaterialDetail lsmd = null;
            MaterialReceiptDetail   mrd  = null;

            if (ModelState.IsValid && model.MaterialLot != null)
            {
                using (LineStoreMaterialServiceClient client = new LineStoreMaterialServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            Where = string.Format("  Key.MaterialLot Like  '{0}'"
                                                  , model.MaterialLot)
                        };
                        MethodReturnResult <IList <LineStoreMaterialDetail> > result = client.GetDetail(ref cfg);

                        if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                        {
                            lsmd = result.Data[0];
                        }
                    });
                }
                if (lsmd != null)
                {
                    using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                    {
                        await Task.Run(() =>
                        {
                            PagingConfig cfg = new PagingConfig()
                            {
                                OrderBy = "CreateTime Desc,Key.ReceiptNo,Key.ItemNo",
                                Where   = string.Format("MaterialLot LIKE '{0}'"
                                                        , lsmd.Attr2)
                            };
                            MethodReturnResult <IList <MaterialReceiptDetail> > result = client.GetDetail(ref cfg);

                            if (result.Code == 0 && result.Data.Count > 0 && result.Data[0] != null)
                            {
                                ViewBag.lsmd = lsmd;
                                ViewBag.mrd  = result.Data[0];
                            }
                        });
                    }
                }
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ParentListPartial"));
            }
            else
            {
                return(View("ParentQueryIndex"));
            }
        }
Example #10
0
 public MaterialReceipt GetMaterialReceipt(string key)
 {
     using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
     {
         MethodReturnResult <MaterialReceipt> rst = client.Get(key);
         if (rst.Code <= 0)
         {
             return(rst.Data);
         }
     }
     return(null);
 }
Example #11
0
        public ActionResult GetMaterialCodes(string orderNumber, string lineStoreName)
        {
            //根据工单获取领料记录
            IList <MaterialReceiptDetail> lstMaterialReceipt = new List <MaterialReceiptDetail>();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@" LineStoreName ='{0}' 
                                             AND EXISTS(FROM MaterialReceipt as p
                                                        WHERE p.Key=self.Key.ReceiptNo
                                                        AND p.OrderNumber='{1}')
                                             AND (MaterialCode LIKE '11%' OR MaterialCode LIKE '1301%' OR MaterialCode LIKE '1803%' OR MaterialCode LIKE '2511%')"  //电池片或硅片"
                                             , lineStoreName
                                             , orderNumber)
                };
                MethodReturnResult <IList <MaterialReceiptDetail> > result = client.GetDetail(ref cfg);
                if (result.Code <= 0 && result.Data != null)
                {
                    lstMaterialReceipt = result.Data;
                }
            }
            //根据物料类型获取物料。
            IList <LineStoreMaterialDetail> lstLineStoreMaterial = new List <LineStoreMaterialDetail>();

            using (LineStoreMaterialServiceClient client = new LineStoreMaterialServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@"Key.OrderNumber='{1}' 
                                            AND Key.LineStoreName ='{0}' 
                                            AND CurrentQty>0 
                                            AND (Key.MaterialCode LIKE '11%' OR Key.MaterialCode LIKE '1301%' OR Key.MaterialCode LIKE '1803%'  OR Key.MaterialCode LIKE '2511%')"
                                             , lineStoreName
                                             , orderNumber)
                };
                MethodReturnResult <IList <LineStoreMaterialDetail> > result = client.GetDetail(ref cfg);
                if (result.Code <= 0 && result.Data != null)
                {
                    lstLineStoreMaterial = result.Data;
                }
            }

            var lnq = from item in lstLineStoreMaterial
                      where lstMaterialReceipt.Any(m => m.MaterialCode == item.Key.MaterialCode)
                      select item.Key.MaterialCode;

            return(Json(lnq.Distinct(), JsonRequestBehavior.AllowGet));
        }
Example #12
0
        public ActionResult Delete(string key)
        {
            MethodReturnResult result = new MethodReturnResult();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                result = client.DeleteMaterialReceipt(key);
                if (result.Code == 0)
                {
                    result.Message = string.Format(LSMResources.StringResource.MaterialReceipt_Save_Success, key);
                }
            }

            return(Json(result));
        }
Example #13
0
        public ActionResult Save(MaterialReceiptExViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    MethodReturnResult <MaterialReceipt> resultOfAddMaterial = new MethodReturnResult <MaterialReceipt>();

                    MaterialReceipt materialReceipt = new MaterialReceipt()
                    {
                        Key         = model.ReceiptNo,
                        ReceiptDate = model.ReceiptDate,
                        Description = model.Description,
                        OrderNumber = model.OrderNumber,
                        LineStore   = model.LineStore,
                        Editor      = User.Identity.Name,
                        Creator     = User.Identity.Name,
                    };

                    resultOfAddMaterial = client.AddMaterialReceipt(materialReceipt);

                    if (resultOfAddMaterial.Code == 0)
                    {
                        result.Message = string.Format(LSMResources.StringResource.MaterialReceipt_Save_Success
                                                       , resultOfAddMaterial.Data.Key);
                        result.Detail = resultOfAddMaterial.Data.Key;
                    }
                    else
                    {
                        result.Code    = resultOfAddMaterial.Code;
                        result.Message = resultOfAddMaterial.Message;
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            return(Json(result));
        }
Example #14
0
        //
        // GET: /LSM/MaterialReceiptExDetail/
        public ActionResult Index(string ReceiptNo)
        {
            MaterialReceiptExDetailQueryViewModel model = new MaterialReceiptExDetailQueryViewModel();


            PagingConfig cfg = new PagingConfig()
            {
                IsPaging = false,
                OrderBy  = "Key.ItemNo",
                Where    = string.Format(" Key.ReceiptNo = '{0}'"
                                         , ReceiptNo)
            };

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                MethodReturnResult <IList <MaterialReceiptDetail> > result = client.GetDetail(ref cfg);

                if (result.Code == 0)
                {
                    ViewBag.PagingConfig = cfg;
                    ViewBag.List         = result.Data;
                }
                MethodReturnResult <MaterialReceipt> res = client.Get(ReceiptNo);
                if (res.Code == 0)
                {
                    model.ReceiptNo     = res.Data.Key;
                    model.OrderNumber   = res.Data.OrderNumber;
                    model.LineStoreName = res.Data.LineStore;
                    model.ReceiptDate   = res.Data.ReceiptDate.ToString("yyyy-MM-dd");
                    ViewBag.State       = res.Data.State;
                }
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ListPartial", new MaterialReceiptExDetailViewModel()
                {
                    ReceiptNo = ReceiptNo
                }));
            }
            return(View("Index", model));
        }
Example #15
0
        /// <summary>
        /// 根据电池箱号获取电池箱信息,数量,效率,颜色,供应商
        /// </summary>
        /// <param name="q"></param>
        /// <returns></returns>
        MaterialReceiptDetail GetBox(string q)
        {
            MaterialReceiptDetail obj = new MaterialReceiptDetail();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                MethodReturnResult <MaterialReceiptDetail> result = client.GetBoxDetail(q);
                if (result.Code <= 0 && result.Data != null)
                {
                    obj = result.Data;
                }
            }

            return(obj);
            //return Json(new
            //{
            //    @SupplierCode = obj.SupplierCode ?? string.Empty,
            //    @SupplierMaterialLot = obj.SupplierMaterialLot ?? string.Empty,
            //    @Attr1 = obj.Attr1 ?? string.Empty
            //}, JsonRequestBehavior.AllowGet);
        }
Example #16
0
        public ActionResult GetOrderNumber(string MaterialLotNumber)
        {
            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                if (!string.IsNullOrEmpty(MaterialLotNumber))
                {
                    MethodReturnResult <DataSet> rst = client.GetOrderNumberByMaterialLot(MaterialLotNumber);
                    if (rst.Code <= 0)
                    {
                        {
                            var data = from item in rst.Data.Tables[0].AsEnumerable()
                                       select item["ORDER_NUMBER"].ToString();



                            return(Json(data, JsonRequestBehavior.AllowGet));
                        }
                    }
                }
                return(null);
            }
        }
Example #17
0
        public ActionResult GetReceiptNo()
        {
            string prefix = string.Format("LMK{0:yyMMdd}", DateTime.Now);
            int    itemNo = 0;

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    PageNo   = 0,
                    PageSize = 1,
                    Where    = string.Format("Key LIKE '{0}%'", prefix),
                    OrderBy  = "Key Desc"
                };
                MethodReturnResult <IList <MaterialReceipt> > result = client.Get(ref cfg);
                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    string sItemNo = result.Data[0].Key.Replace(prefix, "");
                    int.TryParse(sItemNo, out itemNo);
                }
            }
            return(Json(prefix + (itemNo + 1).ToString("0000"), JsonRequestBehavior.AllowGet));
        }
Example #18
0
        public async Task <ActionResult> PagingQuery(string where, string orderBy, int?currentPageNo, int?currentPageSize)
        {
            if (ModelState.IsValid)
            {
                int pageNo   = currentPageNo ?? 0;
                int pageSize = currentPageSize ?? 20;
                if (Request["PageNo"] != null)
                {
                    pageNo = Convert.ToInt32(Request["PageNo"]);
                }
                if (Request["PageSize"] != null)
                {
                    pageSize = Convert.ToInt32(Request["PageSize"]);
                }

                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            PageNo   = pageNo,
                            PageSize = pageSize,
                            Where    = where ?? string.Empty,
                            OrderBy  = orderBy ?? string.Empty
                        };
                        MethodReturnResult <IList <MaterialReceipt> > result = client.Get(ref cfg);
                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
Example #19
0
        public async Task <ActionResult> ExportToExcel(MaterialReceiptDetailQueryViewModel model)
        {
            IList <MaterialReceiptDetail> lst = new List <MaterialReceiptDetail>();

            using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        OrderBy  = "CreateTime Desc,Key.ReceiptNo,Key.ItemNo",
                        Where    = GetWhereCondition(model)
                    };
                    MethodReturnResult <IList <MaterialReceiptDetail> > result = client.GetDetail(ref cfg);

                    if (result.Code == 0)
                    {
                        lst = result.Data;
                    }
                });
            }
            //创建工作薄。
            IWorkbook wb = new HSSFWorkbook();
            //设置EXCEL格式
            ICellStyle style = wb.CreateCellStyle();

            style.FillForegroundColor = 10;
            //有边框
            style.BorderBottom = BorderStyle.THIN;
            style.BorderLeft   = BorderStyle.THIN;
            style.BorderRight  = BorderStyle.THIN;
            style.BorderTop    = BorderStyle.THIN;
            IFont font = wb.CreateFont();

            font.Boldweight = 10;
            style.SetFont(font);
            ICell  cell = null;
            IRow   row  = null;
            ISheet ws   = null;

            for (int j = 0; j < lst.Count; j++)
            {
                if (j % 65535 == 0)
                {
                    ws  = wb.CreateSheet();
                    row = ws.CreateRow(0);
                    #region //列名
                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptViewModel_ReceiptNo);  //领料号

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptViewModel_OrderNumber);  //工单号

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptViewModel_ReceiptDate);  //领料日期

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_ItemNo);  //项目号

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_LineStoreName);  //线别仓

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_MaterialCode);  //物料编码

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("物料名称");  //物料名称

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_MaterialLot);  //物料批号

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_Qty);  //数量

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_SupplierMaterialLot);  //供应商批号

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(LSMResources.StringResource.MaterialReceiptDetailViewModel_SupplierCode);  //供应商编码

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("供应商名称");  //供应商名称


                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("描述");  //描述

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("编辑人");  //编辑人

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("编辑时间");  //编辑时间
                    #endregion
                    font.Boldweight = 5;
                }

                MaterialReceiptDetail obj   = lst[j];
                MaterialReceipt       mrObj = model.GetMaterialReceipt(obj.Key.ReceiptNo);
                Material m = model.GetMaterial(obj.MaterialCode);
                Supplier s = model.GetSupplier(obj.SupplierCode);
                row = ws.CreateRow(j + 1);

                #region //数据
                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.Key.ReceiptNo);  //领料号

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(mrObj == null ? string.Empty : mrObj.OrderNumber);  //工单号

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(mrObj == null ? string.Empty : string.Format("{0:yyyy-MM-dd}", mrObj.ReceiptDate));  //领料日期

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.Key.ItemNo);  //项目号

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.LineStoreName);  //线别仓

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.MaterialCode);  //物料编码

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(m == null ? string.Empty : m.Name);  //物料名称

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.MaterialLot);  //物料批号

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.Qty);  //数量

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.SupplierMaterialLot);  //供应商批号

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.SupplierCode);  //供应商编码

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(s == null ? string.Empty : s.Name); //供应商名称


                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.Description);  //描述

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(obj.Editor);  //编辑人

                cell           = row.CreateCell(row.Cells.Count);
                cell.CellStyle = style;
                cell.SetCellValue(string.Format("{0:yyyy-MM-dd HH:mm:ss}", obj.EditTime));  //编辑时间
                #endregion
            }

            MemoryStream ms = new MemoryStream();
            wb.Write(ms);
            ms.Flush();
            ms.Position = 0;
            return(File(ms, "application/vnd.ms-excel", "MaterialReceiptData.xls"));
        }
Example #20
0
        public async Task <ActionResult> Query(MaterialReceiptQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    await Task.Run(() =>
                    {
                        StringBuilder where = new StringBuilder();
                        if (model != null)
                        {
                            if (!string.IsNullOrEmpty(model.ReceiptNo))
                            {
                                where.AppendFormat(" {0} Key = '{1}'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.ReceiptNo);
                            }
                            if (!string.IsNullOrEmpty(model.OrderNumber))
                            {
                                where.AppendFormat(" {0} OrderNumber = '{1}'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.OrderNumber);
                            }

                            if (model.StartReceiptDate != null)
                            {
                                where.AppendFormat(" {0} ReceiptDate >= '{1}'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.StartReceiptDate);
                            }

                            if (model.EndReceiptDate != null)
                            {
                                where.AppendFormat(" {0} ReceiptDate <= '{1}'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.EndReceiptDate);
                            }
                        }

                        PagingConfig cfg = new PagingConfig()
                        {
                            OrderBy = "CreateTime Desc",
                            Where   = where.ToString()
                        };

                        MethodReturnResult <IList <MaterialReceipt> > result = client.Get(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ListPartial"));
            }
            else
            {
                return(View("Index"));
            }
        }
Example #21
0
        public async Task <ActionResult> Save(MaterialReceiptViewModel model)
        {
            MethodReturnResult rst = new MethodReturnResult();

            try
            {
                using (MaterialReceiptServiceClient client = new MaterialReceiptServiceClient())
                {
                    MaterialReceipt obj = new MaterialReceipt()
                    {
                        Key         = model.ReceiptNo.ToUpper(),
                        OrderNumber = model.OrderNumber.ToUpper(),
                        ReceiptDate = model.ReceiptDate,
                        Description = model.Description,
                        Editor      = User.Identity.Name,
                        Creator     = User.Identity.Name
                    };

                    char splitChar            = ',';
                    var  ItemNos              = Request["ItemNo"].Split(splitChar);
                    var  LineStoreNames       = Request["LineStoreName"].Split(splitChar);
                    var  MaterialCodes        = Request["MaterialCode"].Split(splitChar);
                    var  MaterialLots         = Request["MaterialLot"].Split(splitChar);
                    var  Qtys                 = Request["Qty"].Split(splitChar);
                    var  SupplierMaterialLots = Request["SupplierMaterialLot"].Split(splitChar);
                    var  SupplierCodes        = Request["SupplierCode"].Split(splitChar);
                    //var Descriptions = Request["DetailDescription"].Split(splitChar);
                    //var attr1s = Request["Attr1"].Split(splitChar);
                    List <MaterialReceiptDetail> lst = new List <MaterialReceiptDetail>();
                    for (int i = 0; i < ItemNos.Length; i++)
                    {
                        string materialCode  = MaterialCodes[i].ToUpper();
                        string materialLot   = MaterialLots[i].ToUpper();
                        string lineStoreName = LineStoreNames[i].ToUpper();

                        //根据物料批号获取当前线别仓中的物料
                        using (LineStoreMaterialServiceClient client1 = new LineStoreMaterialServiceClient())
                        {
                            PagingConfig cfg = new PagingConfig()
                            {
                                PageNo   = 0,
                                PageSize = 1,
                                Where    = string.Format("Key.MaterialLot='{0}' AND Key.OrderNumber='{1}' AND Key.LineStoreName='{2}'"
                                                         , materialLot
                                                         , obj.OrderNumber
                                                         , lineStoreName)
                            };
                            MethodReturnResult <IList <LineStoreMaterialDetail> > rst1 = client1.GetDetail(ref cfg);
                            if (rst1.Code > 0)
                            {
                                return(Json(rst1));
                            }
                            if (rst1.Data != null &&
                                rst1.Data.Count > 0 &&
                                rst1.Data[0].Key.MaterialCode != materialCode)
                            {
                                rst.Code    = 2002;
                                rst.Message = string.Format("项目号[{0}]的物料批号({1})已经由物料({2})领料使用,请更换新的物料批号。"
                                                            , i + 1
                                                            , materialLot
                                                            , rst1.Data[0].Key.MaterialCode);
                                return(Json(rst));
                            }
                        }
                        //判断物料批号在本次领料中是否重复。
                        int count = MaterialLots.Count(m => m == materialLot);
                        if (count > 1)
                        {
                            int lastedIndex = MaterialLots.ToList().LastIndexOf(materialLot);
                            rst.Code    = 2003;
                            rst.Message = string.Format("项目号[{0}]物料批号({1})与项目号[{2}]的物料批号重复,如是相同物料料号请在同一个项目号中领取。"
                                                        , i + 1
                                                        , materialLot
                                                        , lastedIndex + 1);
                            return(Json(rst));
                        }

                        lst.Add(new MaterialReceiptDetail()
                        {
                            Key = new MaterialReceiptDetailKey()
                            {
                                ReceiptNo = model.ReceiptNo.ToUpper(),
                                ItemNo    = i + 1
                            },
                            LineStoreName       = lineStoreName,
                            MaterialCode        = materialCode,
                            MaterialLot         = materialLot,
                            Qty                 = Convert.ToDouble(Qtys[i]),
                            SupplierMaterialLot = SupplierMaterialLots[i].ToUpper(),
                            SupplierCode        = SupplierCodes[i].ToUpper(),
                            //Description = Descriptions[i],
                            //Attr1 = attr1,
                            Editor  = User.Identity.Name,
                            Creator = User.Identity.Name
                        });
                    }

                    rst = await client.AddAsync(obj, lst);

                    if (rst.Code == 0)
                    {
                        rst.Message = string.Format(LSMResources.StringResource.MaterialReceipt_Save_Success
                                                    , obj.Key);
                    }
                }
            }
            catch (Exception ex)
            {
                rst.Code    = 1000;
                rst.Message = ex.Message;
                rst.Detail  = ex.ToString();
            }
            return(Json(rst));
        }