//
        // GET: /ZPVM/SupplierToManufacturer/Detail
        public async Task <ActionResult> Detail(string materialCode, string orderNumber, string supplierCode)
        {
            using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
            {
                SupplierToManufacturerKey key = new SupplierToManufacturerKey()
                {
                    MaterialCode = materialCode,
                    OrderNumber  = orderNumber,
                    SupplierCode = supplierCode
                };
                MethodReturnResult <SupplierToManufacturer> result = await client.GetAsync(key);

                if (result.Code == 0)
                {
                    SupplierToManufacturerViewModel viewModel = new SupplierToManufacturerViewModel()
                    {
                        MaterialCode     = result.Data.Key.MaterialCode,
                        OrderNumber      = result.Data.Key.OrderNumber,
                        SupplierCode     = result.Data.Key.SupplierCode,
                        ManufacturerCode = result.Data.ManufacturerCode,
                        Creator          = result.Data.Creator,
                        CreateTime       = result.Data.CreateTime,
                        Editor           = result.Data.Editor,
                        EditTime         = result.Data.EditTime
                    };
                    return(PartialView("_InfoPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_InfoPartial"));
        }
        //
        // GET: /ZPVM/SupplierToManufacturer/Modify
        public async Task <ActionResult> Modify(string materialCode, string orderNumber, string supplierCode)
        {
            SupplierToManufacturerViewModel viewModel = new SupplierToManufacturerViewModel();

            using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
            {
                MethodReturnResult <SupplierToManufacturer> result = await client.GetAsync(new SupplierToManufacturerKey()
                {
                    MaterialCode = materialCode,
                    OrderNumber  = orderNumber,
                    SupplierCode = supplierCode
                });

                if (result.Code == 0)
                {
                    viewModel = new SupplierToManufacturerViewModel()
                    {
                        MaterialCode     = result.Data.Key.MaterialCode,
                        OrderNumber      = result.Data.Key.OrderNumber,
                        SupplierCode     = result.Data.Key.SupplierCode,
                        ManufacturerCode = result.Data.ManufacturerCode
                    };
                    return(PartialView("_ModifyPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_ModifyPartial"));
        }
        public async Task <ActionResult> SaveModify(SupplierToManufacturerViewModel model)
        {
            DateTime now = DateTime.Now;

            using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
            {
                SupplierToManufacturerKey key = new SupplierToManufacturerKey()
                {
                    MaterialCode = model.MaterialCode.ToString().Trim().ToUpper(),
                    OrderNumber  = model.OrderNumber.ToString().Trim().ToUpper(),
                    SupplierCode = model.SupplierCode.ToString().Trim().ToUpper()
                };
                MethodReturnResult <SupplierToManufacturer> result = await client.GetAsync(key);

                if (result.Code == 0)
                {
                    result.Data.ManufacturerCode = model.ManufacturerCode;
                    result.Data.EditTime         = now;
                    result.Data.Editor           = User.Identity.Name;
                    MethodReturnResult rst = await client.ModifyAsync(result.Data);

                    if (rst.Code == 0)
                    {
                        rst.Message = string.Format("供应商转换生产厂商规则修改成功!");
                    }
                    return(Json(rst));
                }
                return(Json(result));
            }
        }
        public async Task <ActionResult> Query(SupplierToManufacturerQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
                {
                    await Task.Run(() =>
                    {
                        StringBuilder where = new StringBuilder();
                        if (model != null)
                        {
                            if (!string.IsNullOrEmpty(model.MaterialCode))
                            {
                                where.AppendFormat(" {0} Key.MaterialCode LIKE '{1}%'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.MaterialCode.ToString().Trim().ToUpper());
                            }

                            if (!string.IsNullOrEmpty(model.OrderNumber))
                            {
                                where.AppendFormat(" {0} Key.OrderNumber LIKE '{1}%'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.OrderNumber.ToString().Trim().ToUpper());
                            }

                            if (!string.IsNullOrEmpty(model.SupplierCode))
                            {
                                where.AppendFormat(" {0} Key.SupplierCode LIKE '{1}%'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.SupplierCode.ToString().Trim().ToUpper());
                            }

                            if (!string.IsNullOrEmpty(model.ManufacturerCode))
                            {
                                where.AppendFormat(" {0} ManufacturerCode LIKE '{1}%'"
                                                   , where.Length > 0 ? "AND" : string.Empty
                                                   , model.ManufacturerCode.ToString().Trim().ToUpper());
                            }
                        }
                        PagingConfig cfg = new PagingConfig()
                        {
                            OrderBy = "Key",
                            Where   = where.ToString()
                        };
                        MethodReturnResult <IList <SupplierToManufacturer> > result = client.Gets(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
Exemplo n.º 5
0
        //获取经供应商转换所得生产厂商信息
        public Manufacturer GetSupplierToManufacturer(string materialCode, string orderNumber, Supplier s)
        {
            Manufacturer mf = null;

            if (s != null)
            {
                using (SupplierToManufacturerServiceClient clients = new SupplierToManufacturerServiceClient())
                {
                    PagingConfig cfg0 = new PagingConfig()
                    {
                        Where = string.Format(@"Key.MaterialCode='{0}' AND Key.SupplierCode='{1}'"
                                              , materialCode
                                              , s.Key)
                    };
                    MethodReturnResult <IList <SupplierToManufacturer> > result = clients.Gets(ref cfg0);
                    if (result.Code <= 0 && result.Data.Count > 0)
                    {
                        if (result.Data[0].Key.OrderNumber == "*")
                        {
                            using (ManufacturerServiceClient clientss = new ManufacturerServiceClient())
                            {
                                MethodReturnResult <Manufacturer> rsts = clientss.Get(result.Data[0].ManufacturerCode);
                                if (rsts.Data != null)
                                {
                                    mf = rsts.Data;
                                }
                            }
                        }
                        else
                        {
                            PagingConfig cfg1 = new PagingConfig()
                            {
                                Where = string.Format(@"Key.MaterialCode='{0}' AND Key.OrderNumber='{1}' AND Key.SupplierCode='{2}'"
                                                      , materialCode
                                                      , orderNumber
                                                      , s.Key)
                            };
                            MethodReturnResult <IList <SupplierToManufacturer> > results = clients.Gets(ref cfg1);
                            if (results.Code <= 0 && results.Data.Count > 0)
                            {
                                using (ManufacturerServiceClient clientss = new ManufacturerServiceClient())
                                {
                                    MethodReturnResult <Manufacturer> rsts = clientss.Get(results.Data[0].ManufacturerCode);
                                    if (rsts.Data != null)
                                    {
                                        mf = rsts.Data;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(mf);
        }
        public async Task <ActionResult> Delete(string materialCode, string orderNumber, string supplierCode)
        {
            MethodReturnResult        result = new MethodReturnResult();
            SupplierToManufacturerKey key    = new SupplierToManufacturerKey()
            {
                MaterialCode = materialCode,
                OrderNumber  = orderNumber,
                SupplierCode = supplierCode
            };

            using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
            {
                result = await client.DeleteAsync(key);

                if (result.Code == 0)
                {
                    result.Message = string.Format("删除{0}成功", key);
                }
                return(Json(result));
            }
        }
        //
        // GET: /ZPVM/SupplierToManufacturer/
        public async Task <ActionResult> Index()
        {
            using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        OrderBy = "Key"
                    };
                    MethodReturnResult <IList <SupplierToManufacturer> > result = client.Gets(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }
            return(View(new SupplierToManufacturerQueryViewModel()));
        }
        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 (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            PageNo   = pageNo,
                            PageSize = pageSize,
                            Where    = where ?? string.Empty,
                            OrderBy  = orderBy ?? string.Empty
                        };
                        MethodReturnResult <IList <SupplierToManufacturer> > result = client.Gets(ref cfg);
                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
        public async Task <ActionResult> Save(SupplierToManufacturerViewModel model)
        {
            DateTime           now = DateTime.Now;
            MethodReturnResult rst = new MethodReturnResult();

            #region 界面录入信息合规性检查
            using (MaterialServiceClient client = new MaterialServiceClient())
            {
                MethodReturnResult <Material> result = client.Get(model.MaterialCode);
                if (result.Code != 0)
                {
                    rst.Code    = 1001;
                    rst.Message = String.Format("MES中不存在物料编码:{0}", model.MaterialCode);
                    return(Json(rst));
                }
                else
                {
                    if (model.OrderNumber != "*")
                    {
                        using (WorkOrderServiceClient clientOfWorkOrder = new WorkOrderServiceClient())
                        {
                            MethodReturnResult <WorkOrder> resultOfOrder = clientOfWorkOrder.Get(model.OrderNumber);
                            if (resultOfOrder.Code != 0)
                            {
                                rst.Code    = 1001;
                                rst.Message = String.Format("MES中不存在工单:{0}", model.OrderNumber);
                                return(Json(rst));
                            }
                        }
                    }
                }
            }
            #endregion

            using (ERPClient erpClient = new ERPClient())
            {
                MethodReturnResult <DataSet> ds_supplier     = erpClient.GetERPSupplier(model.SupplierCode);
                MethodReturnResult <DataSet> ds_manufacturer = erpClient.GetByCodeERPManufacturer(model.ManufacturerCode);
                if (ds_supplier == null || ds_supplier.Data.Tables[0].Rows.Count == 0)
                {
                    rst.Code    = 1001;
                    rst.Message = String.Format("ERP中不存在供应商:{0}", model.SupplierCode);
                    return(Json(rst));
                }
                if (ds_manufacturer == null || ds_manufacturer.Data.Tables[0].Rows.Count == 0)
                {
                    rst.Code    = 1001;
                    rst.Message = String.Format("ERP中不存在生产厂商:{0}", model.ManufacturerCode);
                    return(Json(rst));
                }
                //新增转换供应商
                using (SupplierServiceClient supplierClient = new SupplierServiceClient())
                {
                    MethodReturnResult <Supplier> result = await supplierClient.GetAsync(model.SupplierCode);

                    if (result.Code != 0)
                    {
                        Supplier supplier = new Supplier()
                        {
                            Key         = ds_supplier.Data.Tables[0].Rows[0]["CUSCODE"].ToString(),
                            Name        = ds_supplier.Data.Tables[0].Rows[0]["CUSNAME"].ToString(),
                            NickName    = " ",
                            CreateTime  = now,
                            EditTime    = now,
                            Creator     = User.Identity.Name,
                            Editor      = User.Identity.Name,
                            Description = ""
                        };
                        rst = await supplierClient.AddAsync(supplier);

                        if (rst.Code != 0)
                        {
                            return(Json(rst));
                        }
                    }
                }
                //新增转换生产厂商
                using (ManufacturerServiceClient manufacturerClient = new ManufacturerServiceClient())
                {
                    MethodReturnResult <Manufacturer> result = await manufacturerClient.GetAsync(model.ManufacturerCode);

                    if (result.Code != 0)
                    {
                        Manufacturer manufacturer = new Manufacturer()
                        {
                            Key         = ds_manufacturer.Data.Tables[0].Rows[0]["CSCODE"].ToString(),
                            Name        = ds_manufacturer.Data.Tables[0].Rows[0]["CSNAME"].ToString(),
                            NickName    = " ",
                            CreateTime  = now,
                            EditTime    = now,
                            Creator     = User.Identity.Name,
                            Editor      = User.Identity.Name,
                            Description = ""
                        };
                        rst = await manufacturerClient.AddAsync(manufacturer);

                        if (rst.Code != 0)
                        {
                            return(Json(rst));
                        }
                    }
                }
                //新增转换规则
                using (SupplierToManufacturerServiceClient client = new SupplierToManufacturerServiceClient())
                {
                    SupplierToManufacturer obj = new SupplierToManufacturer()
                    {
                        Key = new SupplierToManufacturerKey()
                        {
                            MaterialCode = model.MaterialCode.ToString().Trim().ToUpper(),
                            OrderNumber  = model.OrderNumber.ToString().Trim().ToUpper(),
                            SupplierCode = model.SupplierCode.ToString().Trim().ToUpper()
                        },
                        ManufacturerCode = model.ManufacturerCode.ToString().Trim().ToUpper(),
                        CreateTime       = now,
                        EditTime         = now,
                        Creator          = User.Identity.Name,
                        Editor           = User.Identity.Name
                    };
                    rst = await client.AddAsync(obj);

                    if (rst.Code == 0)
                    {
                        rst.Message = string.Format(ZPVMResources.StringResource.SupplierToManufacturer_Save_Success);
                    }
                    return(Json(rst));
                }
            }
        }
Exemplo n.º 10
0
        public async Task <ActionResult> ExportToExcelWl(LotMaterialListViewModel model)
        {
            DataTable dt = new DataTable();
            MethodReturnResult <DataSet> result = new MethodReturnResult <DataSet>();

            using (LotQueryServiceClient client = new LotQueryServiceClient())

            {
                RPTLotMateriallistParameter param = new RPTLotMateriallistParameter();
                param.LotNumber = model.LotNumber;
                param.PageSize  = model.PageSize;
                param.PageNo    = -1;

                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        OrderBy = "Key.LotNumber,ItemNo",
                        Where   = GetQueryCondition(model)
                    };

                    MethodReturnResult <DataSet> ds = client.GetRPTLotMaterialList(ref param);
                    dt = ds.Data.Tables[0];
                });
            }

            //创建工作薄。
            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);

            ISheet ws = null;

            for (int j = 0; j < dt.Rows.Count; j++)
            {
                if (j % 65535 == 0)
                {
                    ws = wb.CreateSheet();
                    IRow  row  = ws.CreateRow(0);
                    ICell cell = null;
                    #region //列名
                    foreach (DataColumn dc in dt.Columns)
                    {
                        cell           = row.CreateCell(row.Cells.Count);
                        cell.CellStyle = style;
                        cell.SetCellValue(dc.Caption);
                    }
                    #endregion
                    font.Boldweight = 5;
                }
                IRow rowData = ws.CreateRow(j + 1);
                #region //数据
                ICell cellData = null;

                foreach (DataColumn dc in dt.Columns)
                {
                    System.Data.DataRow obj = dt.Rows[j];
                    Manufacturer        mf  = null;
                    using (SupplierToManufacturerServiceClient clients = new SupplierToManufacturerServiceClient())
                    {
                        PagingConfig cfg0 = new PagingConfig()
                        {
                            Where = string.Format(@"Key.MaterialCode='{0}' AND Key.SupplierCode='{1}'"
                                                  , obj["MATERIAL_CODE"]
                                                  , obj["SUPPLIER_CODE"])
                        };
                        MethodReturnResult <IList <SupplierToManufacturer> > results = clients.Gets(ref cfg0);
                        if (results.Code <= 0 && results.Data.Count > 0)
                        {
                            if (results.Data[0].Key.OrderNumber == "*")
                            {
                                using (ManufacturerServiceClient clientss = new ManufacturerServiceClient())
                                {
                                    MethodReturnResult <Manufacturer> rsts = clientss.Get(results.Data[0].ManufacturerCode);
                                    if (rsts.Data != null)
                                    {
                                        mf = rsts.Data;
                                    }
                                }
                            }
                            else
                            {
                                PagingConfig cfg1 = new PagingConfig()
                                {
                                    Where = string.Format(@"Key.MaterialCode='{0}' AND Key.OrderNumber='{1}' AND Key.SupplierCode='{2}'"
                                                          , obj["MATERIAL_CODE"]
                                                          , obj["ORDER_NUMBER"]
                                                          , obj["SUPPLIER_CODE"])
                                };
                                MethodReturnResult <IList <SupplierToManufacturer> > resultss = clients.Gets(ref cfg1);
                                if (resultss.Code <= 0 && resultss.Data.Count > 0)
                                {
                                    using (ManufacturerServiceClient clientss = new ManufacturerServiceClient())
                                    {
                                        MethodReturnResult <Manufacturer> rsts = clientss.Get(resultss.Data[0].ManufacturerCode);
                                        if (rsts.Data != null)
                                        {
                                            mf = rsts.Data;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;

                    if (dc.DataType == typeof(double) || dc.DataType == typeof(float))
                    {
                        if (dc.ColumnName == "SUPPLIER_CODE")
                        {
                            cellData.SetCellValue(mf == null ? Convert.ToString(dt.Rows[j][dc]) : mf.Key);
                        }
                        else if (dc.ColumnName == "SUPPLIER_NAME")
                        {
                            cellData.SetCellValue(mf == null ? Convert.ToString(dt.Rows[j][dc]) : mf.Name);
                        }
                        else
                        {
                            cellData.SetCellValue(Convert.ToDouble(dt.Rows[j][dc]));
                        }
                    }
                    else if (dc.DataType == typeof(int))
                    {
                        if (dc.ColumnName == "SUPPLIER_CODE")
                        {
                            cellData.SetCellValue(mf == null ? Convert.ToString(dt.Rows[j][dc]) : mf.Key);
                        }
                        else if (dc.ColumnName == "SUPPLIER_NAME")
                        {
                            cellData.SetCellValue(mf == null ? Convert.ToString(dt.Rows[j][dc]) : mf.Name);
                        }
                        else
                        {
                            cellData.SetCellValue(Convert.ToInt32(dt.Rows[j][dc]));
                        }
                    }
                    else
                    {
                        if (dc.ColumnName == "SUPPLIER_CODE")
                        {
                            cellData.SetCellValue(mf == null ? Convert.ToString(dt.Rows[j][dc]) : mf.Key);
                        }
                        else if (dc.ColumnName == "SUPPLIER_NAME")
                        {
                            cellData.SetCellValue(mf == null ? Convert.ToString(dt.Rows[j][dc]) : mf.Name);
                        }
                        else
                        {
                            cellData.SetCellValue(Convert.ToString(dt.Rows[j][dc]));
                        }
                    }
                }
                #endregion
            }

            MemoryStream ms = new MemoryStream();
            wb.Write(ms);
            ms.Flush();
            ms.Position = 0;
            return(File(ms, "application/vnd.ms-excel", "LotMaterialData.xls"));
        }