|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Web;
|
|
|
using System.Web.Mvc;
|
|
|
using DSWeb.Areas.TruckMng.Models.MsWl_Port;
|
|
|
using DSWeb.Areas.TruckMng.DAL.MsWl_Port;
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
using DSWeb.TruckMng.Helper;
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
using System.IO;
|
|
|
using System.Data.OleDb;
|
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
|
|
|
|
namespace DSWeb.Areas.TruckMng.Controllers
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 项目信息明细
|
|
|
/// </summary>
|
|
|
public class MsWl_PortController : Controller
|
|
|
{
|
|
|
//
|
|
|
// GET: /Import/RptImportFeedetail/
|
|
|
|
|
|
public ActionResult Index()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult Edit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult Ctn()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult Other()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult RO()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult MovCtn()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult GJ()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
#region 码头业务主表
|
|
|
public ContentResult GetDataList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsWl_PortDAL.GetDataList(condition,sort);
|
|
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult GetData(string handle, string condition)
|
|
|
{
|
|
|
MsWl_Portmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var _t = "";
|
|
|
var list = MsWl_PortDAL.GetDataList(condition, _t);
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new MsWl_Portmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 分表—集装箱
|
|
|
public ContentResult GetCtn(int start, int limit, string sort, string GID)
|
|
|
{
|
|
|
var dataList = MsWl_PortDAL.GetCtn(GID, sort);
|
|
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult GetCtnData(string handle, string condition)
|
|
|
{
|
|
|
PortCtnmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsWl_PortDAL.GetCtn(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new PortCtnmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 分表—杂项
|
|
|
public ContentResult GetOther(int start, int limit, string sort, string GID)
|
|
|
{
|
|
|
var dataList = MsWl_PortDAL.GetOther(GID, sort);
|
|
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult GetOtherData(string handle, string condition)
|
|
|
{
|
|
|
PortOthermb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsWl_PortDAL.GetOther(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new PortOthermb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 分表—滚装
|
|
|
public ContentResult GetRO(int start, int limit, string sort, string GID)
|
|
|
{
|
|
|
var dataList = MsWl_PortDAL.GetRO(GID, sort);
|
|
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult GetROData(string handle, string condition)
|
|
|
{
|
|
|
PortROmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsWl_PortDAL.GetRO(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new PortROmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 分表—外部拖箱
|
|
|
public ContentResult GetMovCtn(int start, int limit, string sort, string GID)
|
|
|
{
|
|
|
var dataList = MsWl_PortDAL.GetMovCtn(GID, sort);
|
|
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult GetMovCtnData(string handle, string condition)
|
|
|
{
|
|
|
PortMovCtnmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsWl_PortDAL.GetMovCtn(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new PortMovCtnmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 分表—国检业务
|
|
|
public ContentResult GetGJ(int start, int limit, string sort, string GID)
|
|
|
{
|
|
|
var dataList = MsWl_PortDAL.GetGJ(GID, sort);
|
|
|
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult GetGJData(string handle, string condition)
|
|
|
{
|
|
|
PortGJmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsWl_PortDAL.GetGJ(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new PortGJmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
public ContentResult SaveCtn(string opstatus, string data, string Ctn, string CtnDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<MsWl_Portmb>(data);
|
|
|
var CtnList = JsonConvert.Deserialize<List<PortCtnmb>>(Ctn);
|
|
|
var CtnDelBodyList = JsonConvert.Deserialize<List<PortCtnmb>>(CtnDel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = PubSysDAL.GetBillNo("0120"); //获取合同号
|
|
|
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
|
|
|
|
|
|
/*自动填写接单审单人id
|
|
|
headData.UserCode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
headData.UserName = CookieConfig.GetCookie_UserName(Request);
|
|
|
headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
headData.OrgName = CookieConfig.GetCookie_OrgName(Request);*/
|
|
|
|
|
|
//headData.LrDate = DateTime.Now;
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<PortCtnmb>.ToModelObjectList(CtnList),
|
|
|
ModelObjectConvert<PortCtnmb>.ToModelObjectList(CtnDelBodyList)
|
|
|
);
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsWl_PortDAL.GetData("P.GID='" + head.GID + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
public ContentResult SaveOther(string opstatus, string data, string Other, string OtherDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<MsWl_Portmb>(data);
|
|
|
var CtnList = JsonConvert.Deserialize<List<PortOthermb>>(Other);
|
|
|
var CtnDelBodyList = JsonConvert.Deserialize<List<PortOthermb>>(OtherDel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = PubSysDAL.GetBillNo("0120"); //获取合同号
|
|
|
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
|
|
|
|
|
|
/*自动填写接单审单人id
|
|
|
headData.UserCode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
headData.UserName = CookieConfig.GetCookie_UserName(Request);
|
|
|
headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
headData.OrgName = CookieConfig.GetCookie_OrgName(Request);*/
|
|
|
|
|
|
//headData.LrDate = DateTime.Now;
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<PortOthermb>.ToModelObjectList(CtnList),
|
|
|
ModelObjectConvert<PortOthermb>.ToModelObjectList(CtnDelBodyList)
|
|
|
);
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsWl_PortDAL.GetData("P.GID='" + head.GID + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
public ContentResult SaveRO(string opstatus, string data, string RO, string RODel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<MsWl_Portmb>(data);
|
|
|
var CtnList = JsonConvert.Deserialize<List<PortROmb>>(RO);
|
|
|
var CtnDelBodyList = JsonConvert.Deserialize<List<PortROmb>>(RODel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = PubSysDAL.GetBillNo("0120"); //获取合同号
|
|
|
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
|
|
|
|
|
|
/*自动填写接单审单人id
|
|
|
headData.UserCode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
headData.UserName = CookieConfig.GetCookie_UserName(Request);
|
|
|
headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
headData.OrgName = CookieConfig.GetCookie_OrgName(Request);*/
|
|
|
|
|
|
//headData.LrDate = DateTime.Now;
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<PortROmb>.ToModelObjectList(CtnList),
|
|
|
ModelObjectConvert<PortROmb>.ToModelObjectList(CtnDelBodyList)
|
|
|
);
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsWl_PortDAL.GetData("P.GID='" + head.GID + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
public ContentResult SaveMovCtn(string opstatus, string data, string MovCtn, string MovCtnDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<MsWl_Portmb>(data);
|
|
|
var CtnList = JsonConvert.Deserialize<List<PortMovCtnmb>>(MovCtn);
|
|
|
var CtnDelBodyList = JsonConvert.Deserialize<List<PortMovCtnmb>>(MovCtnDel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = PubSysDAL.GetBillNo("0120"); //获取合同号
|
|
|
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
|
|
|
|
|
|
/*自动填写接单审单人id
|
|
|
headData.UserCode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
headData.UserName = CookieConfig.GetCookie_UserName(Request);
|
|
|
headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
headData.OrgName = CookieConfig.GetCookie_OrgName(Request);*/
|
|
|
|
|
|
//headData.LrDate = DateTime.Now;
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<PortMovCtnmb>.ToModelObjectList(CtnList),
|
|
|
ModelObjectConvert<PortMovCtnmb>.ToModelObjectList(CtnDelBodyList)
|
|
|
);
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsWl_PortDAL.GetData("P.GID='" + head.GID + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
public ContentResult SaveGJ(string opstatus, string data, string GJ, string GJDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<MsWl_Portmb>(data);
|
|
|
var CtnList = JsonConvert.Deserialize<List<PortGJmb>>(GJ);
|
|
|
var CtnDelBodyList = JsonConvert.Deserialize<List<PortGJmb>>(GJDel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = PubSysDAL.GetBillNo("0120"); //获取合同号
|
|
|
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
|
|
|
|
|
|
/*自动填写接单审单人id
|
|
|
headData.UserCode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
headData.UserName = CookieConfig.GetCookie_UserName(Request);
|
|
|
headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
headData.OrgName = CookieConfig.GetCookie_OrgName(Request);*/
|
|
|
|
|
|
//headData.LrDate = DateTime.Now;
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<PortGJmb>.ToModelObjectList(CtnList),
|
|
|
ModelObjectConvert<PortGJmb>.ToModelObjectList(CtnDelBodyList)
|
|
|
);
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsWl_PortDAL.GetData("P.GID='" + head.GID + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
public int Lock(string GIDList,string Type)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
var userid = Convert.ToString(Session["USERID"]);
|
|
|
var _GIDList = JsonConvert.Deserialize<List<string>>(GIDList);
|
|
|
var _count = 0;
|
|
|
if (Type == "1")
|
|
|
{
|
|
|
foreach (var GID in _GIDList)
|
|
|
{
|
|
|
strSql.Append(" update tMsWl_Port set Locked=1 where GID ='"+GID+"' ");
|
|
|
|
|
|
_count = _count + Lock(strSql);
|
|
|
}
|
|
|
}
|
|
|
else if (Type == "0")
|
|
|
{
|
|
|
foreach (var GID in _GIDList)
|
|
|
{
|
|
|
strSql.Append(" update tMsWl_Port set Locked=0 where GID ='" + GID + "' ");
|
|
|
_count = _count + Lock(strSql);
|
|
|
}
|
|
|
}
|
|
|
return _count;//ExecuteNonQuery
|
|
|
|
|
|
}
|
|
|
private static int Lock(StringBuilder strSql)
|
|
|
{
|
|
|
var _count = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
return _count;
|
|
|
}
|
|
|
|
|
|
//获取油价
|
|
|
public ContentResult GetFuelPrice(string DATE, string TruckNo)
|
|
|
{
|
|
|
FuelPricemb head = null;
|
|
|
|
|
|
|
|
|
var list = MsWl_PortDAL.GetFuelPrice_Truck(DATE, TruckNo);
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new FuelPricemb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
public ContentResult File ( )
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = "" };
|
|
|
|
|
|
if (Request.Files.Count != 1)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "请选择上传的文件";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
var file = Request.Files["file"];
|
|
|
|
|
|
ExcelCtnmb _EC = new ExcelCtnmb();
|
|
|
|
|
|
_EC.LINKID= Request.Form["BSNO"].ToString().Trim();
|
|
|
_EC.priceAdd = Request.Form["priceAdd"].ToString().Trim();
|
|
|
_EC.priceCut = Request.Form["priceCut"].ToString().Trim();
|
|
|
_EC.priceMul = Request.Form["priceMul"].ToString().Trim();
|
|
|
_EC._20GPMul = Request.Form["_20GPMul"].ToString().Trim();
|
|
|
_EC._40GPMul = Request.Form["_40GPMul"].ToString().Trim();
|
|
|
if (file == null)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "上传文件发生未知错误,请重新上传";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
string ext = Path.GetExtension(file.FileName).ToLower();
|
|
|
if (ext == ".asp" || ext == ".aspx")
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "不允许上传ASP或ASPX文件";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
var path = Server.MapPath("../../UploadFiles/Bs");
|
|
|
|
|
|
if (!Directory.Exists(path))
|
|
|
{
|
|
|
Directory.CreateDirectory(path);
|
|
|
}
|
|
|
|
|
|
var size = file.ContentLength;
|
|
|
var name = Path.GetFileName(file.FileName);
|
|
|
|
|
|
var usercode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
string filename = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name;
|
|
|
|
|
|
if (System.IO.File.Exists(filename))
|
|
|
{
|
|
|
System.IO.File.Delete(filename);
|
|
|
}
|
|
|
file.SaveAs(filename);
|
|
|
|
|
|
if (!System.IO.File.Exists(filename))
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "上传的Excel不包含数据01";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
List<string> sheets = ExcelSheetName(filename);
|
|
|
if (sheets.Count == 0)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = filename + " 上传的Excel不包含数据02";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var sheetname = sheets[0];
|
|
|
string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename +
|
|
|
";Extended Properties=Excel 8.0;";
|
|
|
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "B4:K]", excelConn);
|
|
|
DataSet ds = new DataSet();
|
|
|
oada.Fill(ds);
|
|
|
|
|
|
if (ds.Tables.Count == 0)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "上传的Excel不包含数据03";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
var table = ds.Tables[0];
|
|
|
if (table.Rows.Count == 0 || table.Rows.Count == 1)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "上传的Excel不包含数据04";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
//var customerFieldName = table.Columns[0].ColumnName;
|
|
|
//if (customerFieldName != "订单列表")
|
|
|
//{
|
|
|
// jsonRespose.Success = false;
|
|
|
// jsonRespose.Message = "上传的Excel不是标准的格式,请重新选择";
|
|
|
// return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
//}
|
|
|
|
|
|
var message = string.Empty;
|
|
|
List<PortCtnmb> headList;
|
|
|
|
|
|
//if (customerFieldName == "委托单位")
|
|
|
//{
|
|
|
var InsertCount = 0;
|
|
|
var UpdateCount = 0;
|
|
|
var UnKnowenTruckNo = "";
|
|
|
var isSucess = MsWl_PortDAL.ImportExcelData(Request, table, out message, out InsertCount, out UpdateCount,_EC, out UnKnowenTruckNo, out headList);
|
|
|
if (!isSucess)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = message;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
var json = JsonConvert.Serialize(new
|
|
|
{
|
|
|
success = true,
|
|
|
Message = "上传成功,共处理" + Convert.ToString(headList.Count) + "条记录,其中新增" + Convert.ToString(InsertCount)
|
|
|
+ "个,更新" + Convert.ToString(UpdateCount) + "个。" + UnKnowenTruckNo,
|
|
|
data = headList.ToList()
|
|
|
});
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = "读取Excel文件出错 " + e.Message;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List<string> ExcelSheetName ( string filepath )
|
|
|
{
|
|
|
var al = new List<string>();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
string strConn;
|
|
|
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
|
|
|
OleDbConnection conn = new OleDbConnection(strConn);
|
|
|
conn.Open();
|
|
|
DataTable sheetNames = conn.GetOleDbSchemaTable
|
|
|
(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
|
|
|
conn.Close();
|
|
|
|
|
|
foreach (DataRow dr in sheetNames.Rows)
|
|
|
{
|
|
|
al.Add(dr[2].ToString());
|
|
|
}
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
return new List<string>();
|
|
|
}
|
|
|
|
|
|
return al;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|