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.
569 lines
19 KiB
569 lines
19 KiB
using NFine.Application.SRM;
|
|
using NFine.Code;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
using System;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
|
|
namespace NFine.Web.Areas.SRM.Controllers
|
|
{
|
|
public class BicDoc_PublishController : ControllerBase
|
|
{
|
|
private BicDoc_PublishApp App = new BicDoc_PublishApp();
|
|
[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());
|
|
}
|
|
|
|
|
|
public ActionResult ICSBicDoc_PubLish()
|
|
{
|
|
return View();
|
|
}
|
|
public ActionResult ICSBicDocAdd_PubLish()
|
|
{
|
|
return View();
|
|
}
|
|
public ActionResult ICSBicDocDetail_PubLish()
|
|
{
|
|
return View();
|
|
}
|
|
public ActionResult ICSBicDoc_Item()
|
|
{
|
|
return View();
|
|
}
|
|
public ActionResult ICSBicDoc_Supplier()
|
|
{
|
|
return View();
|
|
}
|
|
public ActionResult ICSBicDocByPU()
|
|
{
|
|
return View();
|
|
}
|
|
public ActionResult ICSBicDoc_AddFCS()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetBidUser(string WorkPoint)
|
|
{
|
|
DataTable dt = App.GetBidUser(WorkPoint);
|
|
return Content(dt.ToJson());
|
|
}
|
|
|
|
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetBidDocBDInfoByCode(string queryJson, Pagination pagination)
|
|
{
|
|
DataTable ListData = App.GetBidDocBDInfoByCode(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 GetBidDocBDInfoByBidCode(string queryJson, Pagination pagination, string WorkPoint)
|
|
{
|
|
DataTable ListData = App.GetBidDocBDInfoByBidCode(queryJson, 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 GetBidDocGYSInfoByCode(string queryJson, Pagination pagination, string WorkPoint)
|
|
{
|
|
DataTable ListData = App.GetBidDocGYSInfoByCode(queryJson, 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 GetItemList(Pagination pagination, string queryJson, string WorkPoint)
|
|
{
|
|
WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
|
|
DataTable ListData = App.GetItemList(queryJson, 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 GetVendorList(Pagination pagination, string queryJson, string WorkPoint)
|
|
{
|
|
DataTable ListData = App.GetVendorList(queryJson, ref pagination, WorkPoint);
|
|
var JsonData = new
|
|
{
|
|
total = pagination.total,
|
|
page = pagination.page,
|
|
records = pagination.records,
|
|
rows = ListData,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult SubmitForm(ICSBicDoc details)
|
|
{
|
|
try
|
|
{
|
|
App.SaveDetail(details);
|
|
return Success("招标书方案保存成功!");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Error(ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
[HttpGet]
|
|
public ActionResult GetFormDetail(string ID, string WorkPoint)
|
|
{
|
|
try
|
|
{
|
|
DataRow dr = App.GetFormDetail(ID, WorkPoint);
|
|
var JsonData = new
|
|
{
|
|
ID = dr["ID"].ToString(),
|
|
BidCode = dr["BidCode"].ToString(),
|
|
BidName = dr["BidName"].ToString(),
|
|
BidUser = dr["BidUser"].ToString(),
|
|
StarTime = dr["StarTime"].ToString(),
|
|
EndTime = dr["EndTime"].ToString(),
|
|
BidStatus = dr["BidStatus"].ToString(),
|
|
Remark = dr["Remark"].ToString(),
|
|
WorkPoint = dr["WorkPoint"].ToString(),
|
|
ZTBCount = dr["ZTBCount"].ToString(),
|
|
FileName = dr["FileName"].ToString(),
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Error(ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult UpDateByDocNo(string ID, string BidCode, string WorkPoint)
|
|
{
|
|
WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
|
|
int result = App.UpDateByDocNo(ID, BidCode, WorkPoint);
|
|
if (result > 0)
|
|
{
|
|
return Success("操作成功!");
|
|
}
|
|
else
|
|
{
|
|
return Error("操作失败!");
|
|
}
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult DeleteBidDoc(string keyValue, string WorkPoint)
|
|
{
|
|
WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
|
|
string msg = App.DeleteBidDoc(keyValue, WorkPoint);
|
|
if (string.IsNullOrWhiteSpace(msg))
|
|
{
|
|
return Success("删除成功!");
|
|
}
|
|
else
|
|
{
|
|
return Error("删除失败");
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult CloseBidding(string ID, string BidCode, string WorkPoint)
|
|
{
|
|
WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
|
|
int result = App.CloseBidding(ID, BidCode, WorkPoint);
|
|
if (result > 0)
|
|
{
|
|
return Success("操作成功!");
|
|
}
|
|
else
|
|
{
|
|
return Error("操作失败!");
|
|
}
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult DeleteSup(string keyValue, string WorkPoint)
|
|
{
|
|
string msg = App.DeleteSup(keyValue, WorkPoint);
|
|
if (string.IsNullOrEmpty(msg))
|
|
{
|
|
return Success("删除成功!");
|
|
}
|
|
else
|
|
{
|
|
return Error(msg);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult DeleteBD(string keyValue, string WorkPoint)
|
|
{
|
|
string msg = App.DeleteBD(keyValue, WorkPoint);
|
|
if (string.IsNullOrEmpty(msg))
|
|
{
|
|
return Success("删除成功!");
|
|
}
|
|
else
|
|
{
|
|
return Error(msg);
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public ActionResult UpLoadFileImport(string BidCode, string ID)
|
|
{
|
|
|
|
string FileName = "";
|
|
string PathName = "";
|
|
//获取上传的文件集合
|
|
HttpFileCollection httpFile = System.Web.HttpContext.Current.Request.Files;
|
|
for (int i = 0; i < httpFile.Count; i++)
|
|
{
|
|
//获取送货单号
|
|
//string STNO = Request.Form["STNO"].ToString();
|
|
string fileName = Path.GetFileNameWithoutExtension(httpFile[i].FileName)
|
|
+ Path.GetExtension(httpFile[i].FileName);
|
|
string Paths = System.Web.HttpContext.Current.Server.MapPath("~\\File\\ZTBFile\\" + BidCode);
|
|
if (!Directory.Exists(Paths))
|
|
{
|
|
Directory.CreateDirectory(Paths);
|
|
}
|
|
string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\ZTBFile\\" + BidCode + "\\" + fileName);
|
|
|
|
int iLen = httpFile[0].ContentLength;
|
|
byte[] bData = new byte[iLen];
|
|
httpFile[0].InputStream.Read(bData, 0, iLen);
|
|
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);
|
|
fs.Write(bData, 0, bData.Length);
|
|
fs.Flush();
|
|
fs.Close();
|
|
fs.Dispose();
|
|
FileName += "" + fileName + ";";
|
|
PathName += "" + filePath + ";";
|
|
}
|
|
int count = App.UpLoadFile(FileName, PathName, BidCode, ID);
|
|
if (count > 0)
|
|
{
|
|
return Success("上传成功!");
|
|
}
|
|
else
|
|
{
|
|
return Error("上传失败");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Post 请求发送文件
|
|
/// </summary>
|
|
/// <param name="url"></param>
|
|
/// <param name="fileName"></param>
|
|
/// <returns></returns>
|
|
//public static string PostFile(string url, string fileName)
|
|
//{
|
|
// //验证文件是否存在
|
|
// if (File.Exists(fileName) == false)
|
|
// throw new Exception("发送文件不存在!");
|
|
// FileInfo file = new FileInfo(fileName);
|
|
// string boundary = "qianle";//分隔符
|
|
// HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
|
|
|
|
// //构造请求体
|
|
// byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
|
|
// byte[] byteEnd = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n"); //结束标识 --xxxx--
|
|
// StringBuilder strContent = new StringBuilder();
|
|
// strContent
|
|
// .Append("Content-Disposition:form-data;name=\"filename\";filename=\"" + file.Name + "\"")
|
|
// .AppendLine()
|
|
// .Append("Content-Type:application/octet-stream")
|
|
// .AppendLine()
|
|
// .AppendLine(); //特别说明,Content-Disposition 前边不能添加换行符号
|
|
// byte[] byteContent = Encoding.UTF8.GetBytes(strContent.ToString());
|
|
// byte[] byteFile = File.ReadAllBytes(fileName);
|
|
|
|
// //执行发送
|
|
// req.Method = "POST";
|
|
// req.ContentType = $"multipart/form-data;charset=utf-8;boundary={boundary}";
|
|
// req.UserAgent = UserAgent;
|
|
// req.ContinueTimeout = 20000;
|
|
|
|
// var reqStrem = req.GetRequestStream();
|
|
// reqStrem.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length); //文件开始
|
|
// reqStrem.Write(byteContent, 0, byteContent.Length);//文件信息
|
|
// reqStrem.Write(byteFile, 0, byteFile.Length);//文件内容
|
|
// reqStrem.Write(byteEnd, 0, byteEnd.Length); //文件结束
|
|
// reqStrem.Close();
|
|
|
|
// WebResponse resp = req.GetResponse();
|
|
// StreamReader sr = new StreamReader(resp.GetResponseStream());
|
|
// string result = sr.ReadToEnd();
|
|
// sr.Close();
|
|
// resp.Close();
|
|
// return result;
|
|
//}
|
|
[HttpPost]
|
|
/// <summary>
|
|
/// 文件上传到本地
|
|
/// </summary>
|
|
public ActionResult UploadFile(string ID, string BidCode, string WorkPoint)
|
|
{
|
|
string mess = "";
|
|
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;
|
|
mess = App.SetData_PR(savePath, ID, BidCode, WorkPoint);
|
|
if (System.IO.File.Exists(savePath))//删除文件
|
|
{
|
|
|
|
System.IO.File.Delete(savePath);
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
mess = "获取文件失败";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
mess = ex.Message;
|
|
}
|
|
var JsonData = new
|
|
{
|
|
mass = mess,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult InsertID(string ID,string WorkPoints)
|
|
{
|
|
string GUID = App.InsertID(ID, WorkPoints);
|
|
var JsonData = new
|
|
{
|
|
GUID = GUID,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
public ActionResult GetSubGridJsonBid(string STNO, Pagination pagination, string WorkPoint)
|
|
{
|
|
DataTable ListData = App.GetSubGridJsonBid(STNO, ref pagination, WorkPoint);
|
|
var JsonData = new
|
|
{
|
|
total = pagination.total,
|
|
page = pagination.page,
|
|
records = pagination.records,
|
|
rows = ListData,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
/// <summary>
|
|
/// 请购单信息
|
|
/// </summary>
|
|
/// <param name="STNO"></param>
|
|
/// <param name="pagination"></param>
|
|
/// <param name="WorkPoint"></param>GetBicDocByPU
|
|
/// <returns></returns>
|
|
public ActionResult GetBicDocByPU(string queryJson, Pagination pagination, string WorkPoint)
|
|
{
|
|
WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
|
|
DataTable ListData = App.GetBicDocByPU(queryJson, ref pagination, WorkPoint);
|
|
var JsonData = new
|
|
{
|
|
total = pagination.total,
|
|
page = pagination.page,
|
|
records = pagination.records,
|
|
rows = ListData,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 采购人员加载站点
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public ActionResult GetWorkPointByUser()
|
|
{
|
|
try
|
|
{
|
|
DataTable ListData = App.GetWorkPointByUser();
|
|
var JsonData = new
|
|
{
|
|
rows = ListData,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Error(ex.Message);
|
|
}
|
|
}
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetBidCode(string WorkPoint, string Vendor)
|
|
{
|
|
try
|
|
{
|
|
string BidCode = App.GetBidCode(WorkPoint, Vendor);
|
|
var JsonData = new
|
|
{
|
|
BidCode = BidCode,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Error(ex.Message);
|
|
}
|
|
}
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetBidItemCode(string WorkPoint, string Vendor)
|
|
{
|
|
try
|
|
{
|
|
string BidItemCode = App.GetBidItemCode(WorkPoint, Vendor);
|
|
var JsonData = new
|
|
{
|
|
BidItemCode = BidItemCode,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Error(ex.Message);
|
|
}
|
|
}
|
|
|
|
//public ActionResult SubmitICSBicDocAddFCS(string keyValue)
|
|
//{
|
|
|
|
// try
|
|
// {
|
|
// string msg = App.SubmitFormCFType(keyValue);
|
|
// var JsonData = new
|
|
// {
|
|
// msg = msg,
|
|
// };
|
|
// return Content(JsonData.ToJson());
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// return Error(ex.Message);
|
|
// }
|
|
//}
|
|
/// <summary>
|
|
/// 调用OA接口
|
|
/// </summary>
|
|
/// <param name="TEMPVENDORCODE">公司名称</param>
|
|
/// <returns></returns>
|
|
|
|
[HttpPost]
|
|
public ActionResult SubmitOARejict(string BidCode, string WorkPoint)
|
|
{
|
|
try
|
|
{
|
|
string msg= App.SubmitOARejict(BidCode, WorkPoint);
|
|
var JsonData = new
|
|
{
|
|
msg = msg,
|
|
};
|
|
return Content(JsonData.ToJson());
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Error("推送失败"+ex.Message);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|