You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

410 lines
13 KiB

using NFine.Application;
using NFine.Code;
using NFine.Domain._03_Entity;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace NFine.Web.Areas.SRM.Controllers
{
public class QuotedPriceController : ControllerBase
{
private QuotedPriceApp App = new QuotedPriceApp();
//初次加载页面数据
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetGridJson(Pagination pagination, string queryJson)
{
DataTable ListData = App.GetGridJson(queryJson, ref pagination);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult SelectOffer(string RFQCODE, Pagination pagination, string WorkPoint)
{
DataTable ListData = App.SelectOffer(RFQCODE, ref pagination, WorkPoint);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult SelectOfferByYL(string RFQCODE, Pagination pagination, string WorkPoint)
{
DataTable ListData = App.SelectOfferByYL(RFQCODE, ref pagination, WorkPoint);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult SecondSelectOffer(string RFQCODE, string QUOTATIONCODE, Pagination pagination)
{
DataTable ListData = App.SecondSelectOffer(RFQCODE, QUOTATIONCODE, ref pagination);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult SecondSelectOfferByYL(string RFQCODE, string QUOTATIONCODE, Pagination pagination)
{
DataTable ListData = App.SecondSelectOfferByYL(RFQCODE, QUOTATIONCODE, ref pagination);
var JsonData = new
{
total = pagination.total,
page = pagination.page,
records = pagination.records,
rows = ListData,
};
return Content(JsonData.ToJson());
}
// GET: SRM/QuotedPrice
public ActionResult Index()
{
return View();
}
//查看报价详情子页面
public ActionResult QuotedPriceDetails()
{
return View();
}
//提交报价单页面
public ActionResult QuotedPrice()
{
return View();
}
public ActionResult QuotedPriceLIst()
{
return View();
}
public ActionResult IndexByYL()
{
return View();
}
public ActionResult QuotedPriceDetailsByYL()
{
return View();
}
public ActionResult LookQuotedPriceDetails()
{
return View();
}
/// <summary>
/// 获取物料名称、单位、规格型号
/// </summary>
/// <param name="WorkPoint"></param>
/// <returns></returns>
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetTxtInfo(string RFQCODE)
{
DataTable ListData = App.GetTxtInfo(RFQCODE);
var JsonData = new
{
RFQCODE = ListData.Rows[0][0].ToString(),
RFQNAME = ListData.Rows[0][1].ToString(),
PURCHUGCODE = ListData.Rows[0][2].ToString(),
ITEMTYPE = ListData.Rows[0][3].ToString(),
PURCHUGNAME = ListData.Rows[0][4].ToString(),
PURCHUGCONECT = ListData.Rows[0][5].ToString(),
VENDORCODE = ListData.Rows[0][6].ToString(),
cVenName = ListData.Rows[0][7].ToString(),
VENDORTYPE = ListData.Rows[0][8].ToString(),
CURRENCY = ListData.Rows[0][9].ToString(),
TAXRATE = ListData.Rows[0][10].ToString(),
PAYMENTCONDITION = ListData.Rows[0][11].ToString(),
MEMO = ListData.Rows[0][12].ToString(),
COMPANYCODE = ListData.Rows[0][13].ToString(),
HASCOSTDETAILS = ListData.Rows[0][14].ToString(),
FileName = ListData.Rows[0][15].ToString(),
//AccountPeriod = ListData.Rows[0][16].ToString(),
};
return Content(JsonData.ToJson());
}
//新增获取报价单号
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetQuotationNo(string RFQCODE, string WorkPoint)
{
string QuotationNo = App.GetQuotationNo(RFQCODE, WorkPoint);
var JsonData = new
{
QuotationNo = QuotationNo,
};
return Content(JsonData.ToJson());
}
[HttpPost]
public ActionResult UpLoadFile(string QuotationNo)
{
try
{
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
string FileName = "";
string PathName = "";
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string Name="";
//获取上传的文件集合
HttpFileCollection httpFile = System.Web.HttpContext.Current.Request.Files;
for (int i = 0; i < httpFile.Count; i++)
{
FileName =Path.GetFileNameWithoutExtension(httpFile[i].FileName) + Path.GetExtension(httpFile[i].FileName);
string Paths = System.Web.HttpContext.Current.Server.MapPath("~\\File\\VendorFile\\" + MUSER + "\\" + QuotationNo + "");
if (!Directory.Exists(Paths))
{
Directory.CreateDirectory(Paths);
}
PathName = System.Web.HttpContext.Current.Server.MapPath("~\\File\\VendorFile\\" + MUSER + "\\" + QuotationNo + "\\" + FileName);
int iLen = httpFile[0].ContentLength;
byte[] bData = new byte[iLen];
httpFile[0].InputStream.Read(bData, 0, iLen);
FileStream fs = new FileStream(PathName, FileMode.OpenOrCreate);
fs.Write(bData, 0, bData.Length);
fs.Flush();
fs.Close();
fs.Dispose();
Name += "" + FileName + ";";
}
//int count = App.UpLoadFile(Name, QuotationNo);
//if (count > 0)
//{
// return Success("上传成功!");
//}
//else
//{
// return Error("上传失败!");
//}
}
catch (Exception ex)
{
return Error(ex.Message);
}
return Success("上传成功!");
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetVendor(string RFQCODE)
{
DataTable dt = App.GetVendor(RFQCODE);
return Content(dt.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetcVenName(string VenCode, string RFQCODE)
{
DataTable dt = App.GetcVenName(VenCode, RFQCODE);
return Content(dt.ToJson());
}
[HttpPost]
[HandlerAjaxOnly]
//[ValidateAntiForgeryToken]
public ActionResult SaveQuotation(string keyValue)
{
string msg = "";
msg = App.SaveQuotation(keyValue);
if (string.IsNullOrWhiteSpace(msg))
{
return Success("信息保存成功!");
}
else
{
return Error("" + msg + "");
}
}
[HttpPost]
[HandlerAjaxOnly]
//[ValidateAntiForgeryToken]
public ActionResult SaveQuotationByYL(string keyValue)
{
string msg = "";
msg = App.SaveQuotationByYL(keyValue);
if (string.IsNullOrWhiteSpace(msg))
{
return Success("信息保存成功!");
}
else
{
return Error("" + msg + "");
}
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult SecondGetTxtInfo(string RFQCODE, string QUOTATIONCODE)
{
DataTable ListData = App.SecondGetTxtInfo(RFQCODE, QUOTATIONCODE);
var JsonData = new
{
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetVenDorFileTB(string QUOTATIONCODE)
{
DataTable ListData = App.GetVenDorFileTB(QUOTATIONCODE);
var JsonData = new
{
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetSORRVenDorFile(string QUOTATIONCODE)
{
DataTable ListData = App.GetSORRVenDorFile(QUOTATIONCODE);
var JsonData = new
{
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpGet]
[HandlerAjaxOnly]
public ActionResult GetVenDorFileSSOR(string rfqno)
{
DataTable ListData = App.GetVenDorFileSSOR(rfqno);
var JsonData = new
{
rows = ListData,
};
return Content(JsonData.ToJson());
}
[HttpPost]
public void ExportAll(string RFQCODE, string WorkPoint)
{
DataTable dt = App.GetPOListExport(RFQCODE, WorkPoint);
AsposeCell.Export(dt);
}
[HttpPost]
public ActionResult GetICSImport(string BidCode, string WorkPoint)
{
string mess = "";
DataTable dts=null;
try
{
HttpFileCollection hpFiles = System.Web.HttpContext.Current.Request.Files;
if (hpFiles != null && hpFiles.Count > 0)
{
string IsXls = System.IO.Path.GetExtension(hpFiles[0].FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls" && IsXls != ".xlsx")
{
mess = "只可以选择Excel(.xls .xlsx)文件";//当选择的不是Excel文件时,返回
}
string filename = DateTime.Now.ToString("yyyyMMddhhmmss") + Guid.NewGuid() + IsXls; //获取Execle文件名 DateTime日期函数
string savePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\UPLoadFile\\" + filename);//Server.MapPath 获得虚拟服务器相对路径
int iLen = hpFiles[0].ContentLength;
if (Directory.Exists(savePath)) mess = "文件已存在";
byte[] bData = new byte[iLen];
hpFiles[0].InputStream.Read(bData, 0, iLen);
FileStream newFile = new FileStream(savePath, FileMode.OpenOrCreate);
newFile.Write(bData, 0, bData.Length);
newFile.Flush();
int _FileSizeTemp = hpFiles[0].ContentLength;
newFile.Close();
newFile.Dispose();
//bool del = false;
dts = App.GetICSImport(savePath);
if (System.IO.File.Exists(savePath))//删除文件
{
System.IO.File.Delete(savePath);
}
}
else
{
mess = "获取文件失败";
}
}
catch (Exception ex)
{
mess = ex.Message;
}
return Content(dts.ToJson());
}
}
}