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

1250 lines
49 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Linq;
using System.Web.Mvc;
using System.Data.OleDb;
using System.Data;
using System.Data.Odbc;
using DSWeb.MvcShipping.DAL.MsOpSubSeaOrderDAL;
using DSWeb.MvcShipping.DAL.MsOpSeaeDAL;
using DSWeb.MvcShipping.DAL.MsOpSeaiDAL;
using DSWeb.MvcShipping.Models.MsOpSubSeaOrder;
using DSWeb.MvcShipping.Models.MsOpSeae;
using DSWeb.MvcShipping.Models.MsOpSeai;
using DSWeb.MvcShipping.Helper;
using DSWeb.MvcShipping.Comm.Cookie;
using HcUtility.Comm;
using HcUtility.Core;
using System.IO;
using System.Collections.Generic;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;
using DSWeb.MvcShipping.DAL.MsCodeFtpSet;
namespace DSWeb.MvcShipping.Controllers
{
[JsonRequestBehavior]
public class MsOpSubSeaOrderController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Edit()
{
return View();
}
public ActionResult Audit()
{
return View();
}
public ActionResult AuditImport()
{
return View();
}
public ActionResult CtnStatus()
{
return View();
}
public ActionResult CtnStatusImport()
{
return View();
}
public ActionResult Import()
{
return View();
}
public ActionResult AgentImport()
{
return View();
}
public ActionResult AgentExport()
{
return View();
}
public ActionResult EditAgentExport()
{
return View();
}
public ActionResult CtnStatusA()
{
return View();
}
public ActionResult CtnStatusAImport()
{
return View();
}
public ActionResult CompanyOrderFeeEdit()
{
return View();
}
public ActionResult EditArrival()
{
return View();
}
public ActionResult ArrivalList()
{
return View();
}
public ActionResult ArrivalYardList()
{
return View();
}
public ActionResult EditArrivalYard()
{
return View();
}
public ContentResult GetDataList(int start, int limit, string sort, string condition, string billtype, int ortype)
{
var dataList = MsOpSubSeaOrderDAL.GetDataList(condition,billtype,ortype,Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), 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 GetDataListStr(string condition, string billtype, int ortype)
{
var dataListStr = MsOpSubSeaOrderDAL.GetDataListStr(condition, billtype, ortype, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
return new ContentResult() { Content = json };
}
public ContentResult GetData(string handle, string condition, int billtype, int ortype)
{
MsOpSubSeaOrder head = null;
if (handle == "edit")
{
head = MsOpSubSeaOrderDAL.GetData(condition,ortype);
}
if (head == null)
{
head = new MsOpSubSeaOrder();
head.INPUTBY= Convert.ToString(Session["SHOWNAME"]);
head.ORTYPE = ortype;
head.BILLTYPE = billtype;
if (ortype == 1)
{
head.ORSTATUSREF = "ENTRY";
}
else {
head.ORSTATUSREF = "录入";
}
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult GetBodyList(string condition)
{
var dataList = MsOpSubSeaOrderDAL.GetBodyList(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetFeeList(string condition, int agentfee)
{
var dataList = MsOpSubSeaOrderDAL.GetFeeList(condition, agentfee);
//if (dataList.Count == 0) {
// dataList = MsOpSubSeaOrderDAL.GetDefFeeList(Convert.ToString(Session["COMPANYID"]),agentfee);
//}
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetArrivaList(int start, int limit, string sort, string condition)
{
var dataList = MsOpSubSeaOrderDAL.GetArrivalData(condition,sort);
var list = dataList.Skip(start).Take(limit);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetArrivaListStr(string condition, string sort)
{
var dataListStr = MsOpSubSeaOrderDAL.GetArrivalDataStr(condition,sort);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功",data = dataListStr });
return new ContentResult() { Content = json };
}
public ContentResult GetArrivalData(string handle,string condition,string ordno)
{
MsOpSubSeaArrival head = null;
var headlist = MsOpSubSeaOrderDAL.GetArrivalData(condition);
if (headlist.Count > 0)
head = headlist[0];
else {
var headData = MsOpSubSeaOrderDAL.GetData("ORDNO='" + ordno + "'", 1);
head = MsOpSubSeaOrderDAL.SetDefArrivalData(headData, Convert.ToString(Session["SHOWNAME"]));
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult GetArrivalFeeList(string condition)
{
var dataList = MsOpSubSeaOrderDAL.GetArrivalFeeList(condition);
//if (dataList.Count == 0) {
// dataList = MsOpSubSeaOrderDAL.GetDefFeeList(Convert.ToString(Session["COMPANYID"]),agentfee);
//}
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetArrivalYardList(string condition)
{
var dataList = MsOpSubSeaOrderDAL.GetArrivalYardList(condition);
//if (dataList.Count == 0) {
// dataList = MsOpSubSeaOrderDAL.GetDefFeeList(Convert.ToString(Session["COMPANYID"]),agentfee);
//}
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetArrivalYardData(string handle, string condition)
{
MsOpSubSeaArrivalYard head = null;
var headlist = MsOpSubSeaOrderDAL.GetArrivalYardList(condition);
if (headlist.Count > 0)
head = headlist[0];
else
{
head =new MsOpSubSeaArrivalYard ();
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult GetCtnStatusList(string condition, string billtype)
{
var dataList = MsOpSubSeaOrderDAL.GetCtnStatusList(condition,billtype,Convert.ToString(Session["COMPANYID"]));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult Save(string opstatus, string data, string data2, string body,string fee,string feecarrier,int ortype)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaOrder>(data.Replace("}",",")+data2.Replace("{",""));
var bodyList = JsonConvert.Deserialize<List<MsOpSubSeaOrderCtn>>(body);
var feeList = JsonConvert.Deserialize<List<MsOpSubSeaOrderFee>>(fee);
var feecarrierList = JsonConvert.Deserialize<List<MsOpSubSeaOrderFee>>(feecarrier);
var BSNO = headData.BSNO;
if (opstatus == "add")
{
headData.ORDNO = PubSysDAL.GetBillNo("0310");
headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]);
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
headData.BSDATE = DateTime.Now;
headData.ORSTATUS ="9";
headData.ORSTATUSREF = "录入状态";
headData.DbOperationType = DbOperationType.DbotIns;
}
else if (opstatus == "edit")
{
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
}
else
{
headData.DbOperationType = DbOperationType.DbotDel;
}
if (headData.ETD == "") headData.ETD = null;
if (headData.ETA == "") headData.ETA = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
if (result.Success == true)
{
result = MsOpSubSeaOrderDAL.SaveDetail(headData, bodyList, Convert.ToString(Session["USERID"]));
result = MsOpSubSeaOrderDAL.SaveFee(headData, feeList, Convert.ToString(Session["USERID"]),"1");
result = MsOpSubSeaOrderDAL.SaveFee(headData, feecarrierList, Convert.ToString(Session["USERID"]), "0");
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = MsOpSubSeaOrderDAL.GetData("BSNO='" + BSNO + "'",ortype)
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SaveArrival(string opstatus, string data, string fee)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaArrival>(data);
var feeList = JsonConvert.Deserialize<List<MsOpSubSeaArrivalFee>>(fee);
var BSNO = headData.ORDNO;
if (headData.GID == "*")
{
headData.GID = Guid.NewGuid().ToString();
headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]);
headData.BSDATE = DateTime.Now;
headData.DbOperationType = DbOperationType.DbotIns;
}
else
{
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
}
if (headData.REFNO == "") {
headData.REFNO = MsOpSubSeaOrderDAL.getREFNo(headData.ETA);
}
if (headData.ETD == "") headData.ETD = null;
if (headData.ETA == "") headData.ETA = null;
if (headData.FREETIME == "") headData.FREETIME = null;
var str = headData.MARKS;
str= str.Replace("\n", "\\");
str = str.Replace("\r", " ");
string[] StrList = str.Split('\\');
headData.MARKCOUNT = StrList.Length;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
if (result.Success == true)
{
result = MsOpSubSeaOrderDAL.SaveArrivalFee(headData, feeList, Convert.ToString(Session["USERID"]));
MsOpSubSeaOrderDAL.p_update_ARRIVEL(BSNO);
}
var alist = MsOpSubSeaOrderDAL.GetArrivalData("ORDNO='" + BSNO + "'");
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = alist[0]
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SaveArrivalYard(string opstatus, string data)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaArrivalYard>(data);
var GID="";
if (headData.GID == "*")
{
GID=Guid.NewGuid().ToString();
headData.GID = GID;
headData.DbOperationType = DbOperationType.DbotIns;
}
else
{
GID=headData.GID;
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
}
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
MsOpSubSeaArrivalYard head = null;
var list = MsOpSubSeaOrderDAL.GetArrivalYardList("GID='"+GID+"'");
if (list.Count > 0)
head = list[0];
else
head = new MsOpSubSeaArrivalYard();
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = head
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteDetail(string data)
{
var head = JsonConvert.Deserialize<MsOpSubSeaOrderCtn>(data);
DBResult result = MsOpSubSeaOrderDAL.DeleteDetail2(head);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult Delete(string data)
{
var head = JsonConvert.Deserialize<MsOpSubSeaOrder>(data);
var modb = new ModelObjectDB();
DBResult result = modb.Delete(head);
if (result.Success == true) { MsOpSubSeaOrderDAL.DeleteDetail(head); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteArrival(string data)
{
var head = JsonConvert.Deserialize<MsOpSubSeaArrival>(data);
var modb = new ModelObjectDB();
DBResult result = modb.Delete(head);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteArrivalYard(string data)
{
var head = JsonConvert.Deserialize<MsOpSubSeaArrivalYard>(data);
var modb = new ModelObjectDB();
DBResult result = modb.Delete(head);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteFeeDetail(string data)
{
var head = JsonConvert.Deserialize<MsOpSubSeaOrderFee>(data);
DBResult result = MsOpSubSeaOrderDAL.DeleteFeeDetail(head);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteArrivalFeeDetail(string data)
{
var head = JsonConvert.Deserialize<MsOpSubSeaArrivalFee>(data);
DBResult result = MsOpSubSeaOrderDAL.DeleteArrivalFeeDetail(head);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult GetCompanyFeeList(string condition)
{
var dataList = MsOpSubSeaOrderDAL.GetCompanyFeeList(condition,Convert.ToString(Session["COMPANYID"]));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult SaveCompanyFee(string fee)
{
var feeList = JsonConvert.Deserialize<List<MsCompanyOrderFee>>(fee);
DBResult result = MsOpSubSeaOrderDAL.SaveCompanyOrderFee(feeList, Convert.ToString(Session["COMPANYID"]));
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = MsOpSubSeaOrderDAL.GetCompanyFeeList("",Convert.ToString(Session["COMPANYID"]))
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#region 审核、撤销审核
public ContentResult GetAuditDataList(int start, int limit, string sort, string condition, string billtype)
{
var dataList = MsOpSubSeaOrderDAL.GetAuditDataList(condition,billtype,Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), 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 AddSeae(string data, string accdate, string op, string custservice)
{
var OrderDataList = JsonConvert.Deserialize<List<MsOpSubSeaOrder>>(data);
DBResult result = null;
foreach (var OrderData in OrderDataList)
{
var headData = new MsOpSeae();
OrderData.ORSTATUS = "0";
OrderData.DbOperationType = DbOperationType.DbotUpd;
OrderData.ModelUIStatus = "E";
headData.BSDATE = DateTime.Now;
var isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "1");
if (isuse)
{
headData.CUSTNO = MsOpSeaeDAL.getCodeRule("委托编号", "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"]));
}
headData.CORPID = Convert.ToString(Session["COMPANYID"]);
headData.BSDATE = DateTime.Now;
headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]);
headData.BSSTATUS = false;
headData.FEESTATUS = false;
headData.DbOperationType = DbOperationType.DbotIns;
headData.BSNO = OrderData.BSNO;
headData.MBLNO = OrderData.MBLNO;
headData.CUSTOMERNAME = OrderData.CUSTOMERNAME;
headData.ORDERTYPE = "分部订舱";
headData.SHIPPER = OrderData.SHIPPER;
headData.CONSIGNEE = OrderData.CONSIGNEE;
headData.NOTIFYPARTY = OrderData.NOTIFYPARTY;
headData.VESSEL = OrderData.VESSEL;
headData.VOYNO = OrderData.VOYNO;
headData.ETD = OrderData.ETD;
headData.PORTLOADID = OrderData.PORTLOADID;
headData.PORTLOAD = OrderData.PORTLOAD;
headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID;
headData.PORTDISCHARGE = OrderData.PORTDISCHARGE;
headData.PLACERECEIPT = OrderData.PlACERECEIPT;
headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID;
headData.PLACEDELIVERY = OrderData.PLACEDELIVERY;
headData.DESTINATIONID = OrderData.DESTINATIONID;
headData.DESTINATION = OrderData.DESTINATION;
headData.NOBILL = OrderData.NOBILL;
headData.ISSUETYPE = OrderData.ISSUETYPE;
headData.ISSUEDATE = OrderData.ISSUEDATE;
headData.ISSUEPLACE = OrderData.ISSUEPLACE;
headData.BLFRT = OrderData.BLFRT;
headData.PREPARDAT = OrderData.PREPARDAT;
headData.PAYABLEAT = OrderData.PAYABLEAT;
headData.SERVICE = OrderData.SERVICE;
headData.MARKS = OrderData.MARKS;
headData.NOPKGS = OrderData.NOPKGS;
headData.DESCRIPTION = OrderData.DESCRIPTION;
headData.GOODSNAME = OrderData.GOODSNAME;
headData.GROSSWEIGHT = OrderData.GROSSWEIGHT;
headData.MEASUREMENT = OrderData.MEASUREMENT;
headData.PKGS = OrderData.PKGS.ToString();
headData.KINDPKGS = OrderData.KINDPKGS;
headData.KGS = OrderData.KGS.ToString();
headData.CBM = OrderData.CBM.ToString();
headData.TOTALNO = OrderData.TOTALNO;
headData.CNTRTOTAL = OrderData.CNTRTOTAL;
headData.CARGOID = OrderData.CARGOID;
headData.DCLASS = OrderData.DCLASS;
headData.DPAGE = OrderData.DPAGE;
headData.DUNNO = OrderData.DUNNO;
headData.DLABEL = OrderData.DLABEL;
headData.LINKMAN = OrderData.LINKMAN;
headData.REEFERF = OrderData.REEFERF;
headData.TEMPID = OrderData.TEMPID;
headData.TEMPSET = OrderData.TEMPSET;
headData.TEMPMAX = OrderData.TEMPMAX;
headData.TEMPMIN = OrderData.TEMPMIN;
headData.REMARK = OrderData.REMARK;//备注
headData.BLTYPE = OrderData.BLTYPE;//装运方式
headData.OP = op;//操作员
headData.CUSTSERVICE = custservice;//客服员
if (headData.MASTERNO == null || headData.MASTERNO == "") { headData.MASTERNO = headData.BSNO; }
if (headData.ETA == "") headData.ETA = null;
if (headData.ETD == "") headData.ETD = null;
if (headData.STLDATE == "") headData.STLDATE = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null;
var modb = new ModelObjectDB();
result = modb.Save(headData);
var BSNO = headData.BSNO;
if (result.Success == true)
{
result = MsOpSubSeaOrderDAL.AddOrderDetail(BSNO, OrderData, Convert.ToString(Session["USERID"]));
// result = modb.Save(OrderData);
}
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult ImportSeae(string data)
{
var OrderDataList = JsonConvert.Deserialize<List<MsOpSeae>>(data);
DBResult result = null;
foreach (var OrderData in OrderDataList)
{
var headData = new MsOpSubSeaOrder();
OrderData.DbOperationType = DbOperationType.DbotUpd;
OrderData.ModelUIStatus = "E";
headData.BSDATE = DateTime.Now;
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
headData.AGENTID = MsOpSubSeaOrderDAL.GetCustID(OrderData.AGENTID);
headData.ORDNO = PubSysDAL.GetBillNo("0310");
headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]);
headData.ORSTATUS ="0";
headData.DbOperationType = DbOperationType.DbotIns;
headData.BSNO = OrderData.BSNO;
headData.MBLNO = OrderData.MBLNO;
headData.CUSTOMERNAME = OrderData.CUSTOMERNAME;
headData.ORTYPE = 2;
headData.BILLTYPE =1;
headData.BLTYPE="整箱";
headData.SHIPPER = OrderData.SHIPPER;
headData.CONSIGNEE = OrderData.CONSIGNEE;
headData.NOTIFYPARTY = OrderData.NOTIFYPARTY;
headData.VESSEL = OrderData.VESSEL;
headData.VOYNO = OrderData.VOYNO;
headData.ETD = OrderData.ETD;
headData.PORTLOADID = OrderData.PORTLOADID;
headData.PORTLOAD = OrderData.PORTLOAD;
headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID;
headData.PORTDISCHARGE = OrderData.PORTDISCHARGE;
headData.PlACERECEIPT = OrderData.PLACERECEIPT;
headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID;
headData.PLACEDELIVERY = OrderData.PLACEDELIVERY;
headData.DESTINATIONID = OrderData.DESTINATIONID;
headData.DESTINATION = OrderData.DESTINATION;
headData.NOBILL = OrderData.NOBILL;
headData.ISSUETYPE = OrderData.ISSUETYPE;
headData.ISSUEDATE = OrderData.ISSUEDATE;
headData.ISSUEPLACE = OrderData.ISSUEPLACE;
headData.BLFRT = OrderData.BLFRT;
headData.PREPARDAT = OrderData.PREPARDAT;
headData.PAYABLEAT = OrderData.PAYABLEAT;
headData.SERVICE = OrderData.SERVICE;
headData.MARKS = OrderData.MARKS;
headData.NOPKGS = OrderData.NOPKGS;
headData.DESCRIPTION = OrderData.DESCRIPTION;
headData.GOODSNAME = OrderData.GOODSNAME;
headData.GROSSWEIGHT = OrderData.GROSSWEIGHT;
headData.MEASUREMENT = OrderData.MEASUREMENT;
headData.PKGS = Convert.ToInt32(OrderData.PKGS);
headData.KINDPKGS = OrderData.KINDPKGS;
headData.KGS = Convert.ToDecimal(OrderData.KGS);
headData.CBM = Convert.ToDecimal(OrderData.CBM);
headData.TOTALNO = OrderData.TOTALNO;
headData.CNTRTOTAL = OrderData.CNTRTOTAL;
headData.CARGOID = OrderData.CARGOID;
headData.DCLASS = OrderData.DCLASS;
headData.DPAGE = OrderData.DPAGE;
headData.DUNNO = OrderData.DUNNO;
headData.DLABEL = OrderData.DLABEL;
headData.LINKMAN = OrderData.LINKMAN;
headData.REEFERF = OrderData.REEFERF;
headData.TEMPID = OrderData.TEMPID;
headData.TEMPSET = OrderData.TEMPSET;
headData.TEMPMAX = OrderData.TEMPMAX;
headData.TEMPMIN = OrderData.TEMPMIN;
headData.REMARK = OrderData.REMARK;//备注
headData.BLTYPE = OrderData.BLTYPE;//装运方式
if (headData.ETA == "") headData.ETA = null;
if (headData.ETD == "") headData.ETD = null;
if (headData.ISSUEDATE == "" || (Convert.ToDateTime(headData.ISSUEDATE) < Convert.ToDateTime("2010-01-01"))) headData.ISSUEDATE = null;
var modb = new ModelObjectDB();
result = modb.Save(headData);
var BSNO = headData.BSNO;
if (result.Success == true)
{
var ctnbodyList = MsOpSeaeDAL.GetBodyList("BSNO='" + OrderData.BSNO + "'");
result = MsOpSubSeaOrderDAL.ImportSeaeDetail(BSNO, ctnbodyList, Convert.ToString(Session["USERID"]));
}
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddSeai(string data, string accdate, string op, string custservice)
{
var OrderDataList = JsonConvert.Deserialize<List<MsOpSubSeaOrder>>(data);
DBResult result = null;
foreach (var OrderData in OrderDataList)
{
var headData = new MsOpSeai();
OrderData.ORSTATUS = "0";
OrderData.DbOperationType = DbOperationType.DbotUpd;
OrderData.ModelUIStatus = "E";
headData.BSDATE = DateTime.Now.ToString();
var isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "2");
if (isuse)
{
headData.CUSTNO = MsOpSeaiDAL.getCodeRule("委托编号", "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"]));
}
headData.CORPID = Convert.ToString(Session["COMPANYID"]);
headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]);
headData.BSSTATUS = false;
headData.FEESTATUS = false;
headData.DbOperationType = DbOperationType.DbotIns;
headData.BSNO = OrderData.BSNO;
headData.MBLNO = OrderData.MBLNO;
headData.CUSTOMERNAME = OrderData.CUSTOMERNAME;
headData.ORDERTYPE = "分部订舱";
headData.SHIPPER = OrderData.SHIPPER;
headData.CONSIGNEE = OrderData.CONSIGNEE;
headData.NOTIFYPARTY = OrderData.NOTIFYPARTY;
headData.VESSEL = OrderData.VESSEL;
headData.VOYNO = OrderData.VOYNO;
headData.ETD = OrderData.ETD;
headData.PORTLOADID = OrderData.PORTLOADID;
headData.PORTLOAD = OrderData.PORTLOAD;
headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID;
headData.PORTDISCHARGE = OrderData.PORTDISCHARGE;
headData.PlACERECEIPT = OrderData.PlACERECEIPT;
headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID;
headData.PLACEDELIVERY = OrderData.PLACEDELIVERY;
headData.DESTINATIONID = OrderData.DESTINATIONID;
headData.DESTINATION = OrderData.DESTINATION;
headData.NOBILL = OrderData.NOBILL;
headData.ISSUETYPE = OrderData.ISSUETYPE;
headData.ISSUEDATE = OrderData.ISSUEDATE;
headData.ISSUEPLACE = OrderData.ISSUEPLACE;
headData.BLFRT = OrderData.BLFRT;
headData.PREPARDAT = OrderData.PREPARDAT;
headData.PAYABLEAT = OrderData.PAYABLEAT;
headData.SERVICE = OrderData.SERVICE;
headData.MARKS = OrderData.MARKS;
headData.NOPKGS = OrderData.NOPKGS;
headData.DESCRIPTION = OrderData.DESCRIPTION;
headData.GOODSNAME = OrderData.GOODSNAME;
headData.GROSSWEIGHT = OrderData.GROSSWEIGHT;
headData.MEASUREMENT = OrderData.MEASUREMENT;
headData.PKGS = OrderData.PKGS;
headData.KINDPKGS = OrderData.KINDPKGS;
headData.KGS = OrderData.KGS;
headData.CBM = OrderData.CBM;
headData.TOTALNO = OrderData.TOTALNO;
headData.CNTRTOTAL = OrderData.CNTRTOTAL;
headData.CARGOID = OrderData.CARGOID;
headData.DCLASS = OrderData.DCLASS;
headData.DPAGE = OrderData.DPAGE;
headData.DUNNO = OrderData.DUNNO;
headData.DLABEL = OrderData.DLABEL;
headData.LINKMAN = OrderData.LINKMAN;
headData.REEFERF = OrderData.REEFERF;
headData.TEMPID = OrderData.TEMPID;
headData.TEMPSET = OrderData.TEMPSET;
headData.TEMPMAX = OrderData.TEMPMAX;
headData.TEMPMIN = OrderData.TEMPMIN;
headData.REMARK = OrderData.REMARK;//备注
headData.BLTYPE = OrderData.BLTYPE;//装运方式
headData.OP = op;//操作员
headData.CUSTSERVICE = custservice;//客服员
if (headData.MASTERNO == null || headData.MASTERNO == "") { headData.MASTERNO = headData.BSNO; }
if (headData.ETA == "") headData.ETA = null;
if (headData.ETD == "") headData.ETD = null;
if (headData.STLDATE == "") headData.STLDATE = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null;
var modb = new ModelObjectDB();
result = modb.Save(headData);
var BSNO = headData.BSNO;
if (result.Success == true)
{
result = MsOpSubSeaOrderDAL.AddOrderDetail(BSNO, OrderData, Convert.ToString(Session["USERID"]));
}
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SubmitAuditForm(string data, string data2, string body, string fee, string feecarrier)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaOrder>(data.Replace("}", ",") + data2.Replace("{", ""));
var bodyList = JsonConvert.Deserialize<List<MsOpSubSeaOrderCtn>>(body);
var feeList = JsonConvert.Deserialize<List<MsOpSubSeaOrderFee>>(fee);
var feecarrierList = JsonConvert.Deserialize<List<MsOpSubSeaOrderFee>>(feecarrier);
headData.ORSTATUS = "1";
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
if (headData.ETD == "") headData.ETD = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
if (result.Success == true)
{
result = MsOpSubSeaOrderDAL.SaveDetail(headData, bodyList, Convert.ToString(Session["USERID"]));
result = MsOpSubSeaOrderDAL.SaveFee(headData, feeList, Convert.ToString(Session["USERID"]),"1");
result = MsOpSubSeaOrderDAL.SaveFee(headData, feecarrierList, Convert.ToString(Session["USERID"]), "0");
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SubmitAuditBackForm(string data, string data2, string body,string fee)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaOrder>(data.Replace("}", ",") + data2.Replace("{", ""));
var bodyList = JsonConvert.Deserialize<List<MsOpSubSeaOrderCtn>>(body);
var feeList = JsonConvert.Deserialize<List<MsOpSubSeaOrderFee>>(fee);
headData.ORSTATUS = "9";
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
if (headData.ETD == "") headData.ETD = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SubmitAudit(string data)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaOrder>(data);
headData.ORSTATUS = "1";
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
if (headData.ETD == "") headData.ETD = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SubmitAuditBack(string data)
{
var headData = JsonConvert.Deserialize<MsOpSubSeaOrder>(data);
headData.ORSTATUS = "9";
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
if (headData.ETD == "") headData.ETD = null;
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 箱动态更新
public ContentResult CtnOpStatus(String data,string type,string opdatetime)
{
var bodyList = JsonConvert.Deserialize<List<MsOpOrderCtnStatus>>(data);
DBResult result = MsOpSubSeaOrderDAL.UpdateCtnStatus(bodyList, type, opdatetime, Convert.ToString(Session["SHOWNAME"]));
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult UpdateCtnStatus(String data, string time, string remarks,string type)
{
var bodyList = JsonConvert.Deserialize<List<MsOpOrderCtnStatus>>(data);
string userid = Convert.ToString(Session["USERID"]);
DBResult result = MsOpSubSeaOrderDAL.UpdateOpCtnStatus(bodyList, time, remarks,type,userid);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
#endregion
#region EDI
public ContentResult SaveEDIList(string headData, string mblno)
{
var headList = JsonConvert.Deserialize<List<MsOpSubSeaOrder>>(headData);
var path = Server.MapPath("../../EDIFiles/SeaeEdi");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
var result = new DBResult();
var error = MsOpSubSeaOrderDAL.IsCreateEdiWD(headList);
if (error == "")
{
var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='IMPWD'", Convert.ToString(Session["COMPANYID"]));
var filename = MsOpSubSeaOrderDAL.CreateEdiWD(headList, Convert.ToString(Session["USERCODE"]), path, mblno, ftpset);
filename = Path.GetFileName(filename);
result.Data = "../../EDIFiles/SeaeEdi/" + filename;
result.Success = true;
result.Message = filename;
}
else
{
result.Success = false;
result.Message = error;
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SaveEDIList2(string headData, string mblno)
{
var headList = JsonConvert.Deserialize<List<MsOpSubSeaOrder>>(headData);
var path = Server.MapPath("../../EDIFiles/SeaeEdi");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
var result = new DBResult();
var error = MsOpSubSeaOrderDAL.IsCreateEdiWD(headList);
if (error == "")
{
var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='IMPWD'", Convert.ToString(Session["COMPANYID"]));
var filename = MsOpSubSeaOrderDAL.CreateEdiWD2(headList, Convert.ToString(Session["USERCODE"]), path, mblno, ftpset);
filename = Path.GetFileName(filename);
result.Data = "../../EDIFiles/SeaeEdi/" + filename;
result.Success = true;
result.Message = filename;
}
else
{
result.Success = false;
result.Message = error;
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
[HttpPost]
public ContentResult ImportDetail()
{
var jsonRespose = new JsonResponse { Success = false, Message = "" };
if (Request.Files.Count != 1)
{
jsonRespose.Success = false;
jsonRespose.Message = "Pls Select Upload File!";
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
var file = Request.Files["LoadExcel"];
if (file == null)
{
jsonRespose.Success = false;
jsonRespose.Message = "File is Error,Pls Upload Again";
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
var path = Server.MapPath("../../UploadFiles/SeaeOrder");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
var size = file.ContentLength;
var name = Path.GetFileName(file.FileName);
var bsno = Request.Form["bsno"];
var usercode = CookieConfig.GetCookie_UserCode(Request);
string csvfilename = usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name;
string filename = path + "\\" + csvfilename;
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) };
}
filename=filename.Replace("//", "/");
//if (filename.ToLower().IndexOf(".csv") > 0)
//{
//}
//else
//{
// if (sheets.Count == 0)
// {
// jsonRespose.Success = false;
// jsonRespose.Message = "上传的Excel不包含数据02";
// return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
// }
//}
try
{
string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename +
";Extended Properties=Excel 8.0;HDR=Yes";
if (filename.ToLower().IndexOf(".xlsx") > 0) {
excelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename +
";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\"";
}
DataSet ds = new DataSet();
if (filename.ToLower().IndexOf(".csv") > 0)
{
excelConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + path + ";Extensions=asc,csv,tab,txt";
using (OdbcConnection odbccon = new OdbcConnection(excelConn)) { odbccon.Open(); OdbcCommand odbccom = new OdbcCommand(); odbccom.Connection = odbccon; odbccom.CommandText = "select * from [" + csvfilename + "]"; OdbcDataAdapter odbcda = new OdbcDataAdapter(odbccom); odbcda.Fill(ds); odbccon.Close(); }
}
else
{
List<string> sheets = ExcelSheetName(filename);
var sheetname = sheets[0];
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "A1:N]", excelConn);
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 updatetype = "";
var customerFieldName = table.Columns[0].ColumnName;
if (customerFieldName != "AEVECD")
{
updatetype = "1";
}
var message = string.Empty;
List<MsOpSubSeaOrderCtn> headList;
bool isSucess = false;
if (updatetype == "1")
{
isSucess = MsOpSubSeaOrderDAL.ImportCtnData(bsno, table, out message, out headList);
}
else
{
isSucess = MsOpSubSeaOrderDAL.ImportCtnData2(bsno, table, out message, 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) + "个托单", data = headList.ToList() });
return new ContentResult() { Content = json };
}
catch (Exception)
{
jsonRespose.Success = false;
jsonRespose.Message = "读取Excel文件出错请确认文件正确性";
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;";
if (filepath.ToLower().IndexOf(".xlsx") > 0)
{
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath +
";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\"";
}
if (filepath.ToLower().IndexOf(".csv") > 0)
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties==\"text;HDR=Yes;FMT=Delimited\"";
}
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;
}
//
}
}