|
|
using System;
|
|
|
using System.Linq;
|
|
|
using System.Web.Mvc;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data;
|
|
|
using System.IO;
|
|
|
using HcUtility.Comm;
|
|
|
using DSWeb.Areas.MvcShipping.DAL.Message;
|
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
|
using DSWeb.TruckMng.Helper;
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
using System.Web.Script.Serialization;
|
|
|
using System.Collections;
|
|
|
using System.Data.OleDb;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
using JsonHelper;
|
|
|
using DSWeb.EntityDA;
|
|
|
|
|
|
using HcUtility.Core;
|
|
|
|
|
|
using DSWeb.MvcContainer.DAL.MsOpCtnrDAL;
|
|
|
using DSWeb.MvcContainer.Models.MsOpCtnr;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
|
|
|
using System.Text;
|
|
|
using DSWeb.Areas.RptMng.Comm;
|
|
|
using DSWeb.MvcShipping.DAL.MsContainerSetCtn;
|
|
|
using DSWeb.MvcShipping.DAL.ChMonthCloseDAL;
|
|
|
using DSWeb.MvcShipping.DAL.MsChFeeDAL;
|
|
|
using DSWeb.SoftMng.Filter;
|
|
|
|
|
|
namespace DSWeb.MvcContainer.Controllers
|
|
|
{
|
|
|
public class MsOpCtnrController : Controller
|
|
|
{
|
|
|
//
|
|
|
// GET:
|
|
|
public ActionResult Index ( )
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult InEdit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult SellIndex()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult SellEdit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult DynaIndex()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult DynaEdit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult RptIndex()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult CodeIndex()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult CodeEdit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult AddOpCtnrIndex()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
//
|
|
|
// GET: /
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetDataList ( int start, int limit, string sort, string condition )
|
|
|
{
|
|
|
int count = 0;
|
|
|
|
|
|
var dataList = MsOpCtnrDAL.GetDataList(condition, start, limit, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), out count, sort);
|
|
|
var timeStamp = DateTime.Now.ToShortDateString();
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList(), timeStamp = timeStamp });
|
|
|
return new ContentResult() { Content = json };
|
|
|
|
|
|
}
|
|
|
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnrList(int start, int limit, string sort, string condition,string isdata="0",string CNTRNO="")
|
|
|
{
|
|
|
if (isdata == "1")
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(condition)) condition = " ISNULL(c.ISSTOP, '') <> '1' ";
|
|
|
else
|
|
|
{
|
|
|
condition = condition + " and ISNULL(c.ISSTOP, '') <> '1' ";
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(CNTRNO)) {
|
|
|
condition = condition + " and c.CNTRNO like '%"+ CNTRNO + "%' ";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
var dataList = MsOpCtnrDAL.GetCtnrList(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 };
|
|
|
}
|
|
|
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnr(string handle, string condition)
|
|
|
{
|
|
|
CtnrDetail head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsOpCtnrDAL.GetCtnrList(condition,"");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new CtnrDetail();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult SaveCtn(string opstatus, string data, string body)
|
|
|
{
|
|
|
var headData = JsonConvert.Deserialize<CtnrDetail>(data);
|
|
|
var CtnrReturnList = JsonConvert.Deserialize<List<CtnrReturn>>(body);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotIns;
|
|
|
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headData.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Save(headData);
|
|
|
var GID = headData.CTNGID;
|
|
|
if (result.Success) {
|
|
|
if (CtnrReturnList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (var item in CtnrReturnList)
|
|
|
{
|
|
|
if (item.BSNO == "*")
|
|
|
{
|
|
|
item.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.ModelUIStatus = "I";
|
|
|
}
|
|
|
else {
|
|
|
item.DbOperationType = DbOperationType.DbotUpd;
|
|
|
item.ModelUIStatus = "E";
|
|
|
}
|
|
|
item.BSNO = headData.CTNGID;
|
|
|
item.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
item.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
result = modbDetail.Save(item);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsOpCtnrDAL.GetCtnData("c.CTNGID='" + GID + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult LockCtn(string body,string islock)
|
|
|
{
|
|
|
var CtnrList = JsonConvert.Deserialize<List<CtnrDetail>>(body);
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
if (CtnrList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (var item in CtnrList)
|
|
|
{
|
|
|
string blUpSQL = " update op_ctnmng_ctndetail set ISLOCK='"+ islock + "' where CTNGID='" + item.CTNGID + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success =true,
|
|
|
Message ="已更新完毕"
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetDynaList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsOpCtnrDAL.GetDynaList(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 };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnrDetailList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsOpCtnrDAL.GetDetailList(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 };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnrSellDetail(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsOpCtnrDAL.GetDetailList(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 };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnrSearchList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsOpCtnrDAL.GetSearchDetailList(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 };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetData(string handle, string condition)
|
|
|
{
|
|
|
CtnrList head = null;
|
|
|
var timeStamp = DateTime.Now.ToShortDateString();
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
head = MsOpCtnrDAL.GetData(condition, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head = new CtnrList();
|
|
|
head.BSNO = Guid.NewGuid().ToString();
|
|
|
head.BSDATE = DateTime.Now.ToString("yyyy-MM-dd");
|
|
|
head.ACCDATE= DateTime.Now.ToString("yyyy-MM");
|
|
|
head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
head.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
head.MODIFIEDTIME = head.CREATETIME;
|
|
|
head.MODIFIEDUSER = head.CREATEUSER;
|
|
|
head.FEESTATUS = false;
|
|
|
}
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head, timeStamp = timeStamp });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnReturnList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsOpCtnrDAL.GetCtnReturnList(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 };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCodeCtnList()
|
|
|
{
|
|
|
int count = 0;
|
|
|
var dataList = MsOpCtnrDAL.GetCodeCtnList();
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult Save(string opstatus, string data, string CtnrInBody, string CtnrInBodyDel,string CtnReturn="")
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<CtnrList>(data);
|
|
|
var DetailBodyList = JsonConvert.Deserialize<List<CtnrDetail>>(CtnrInBody);
|
|
|
var DetailBodyListAX = JsonConvert.Deserialize<List<CtnrDetailAX>>(CtnrInBody);
|
|
|
var DetailBodyDelList = JsonConvert.Deserialize<List<CtnrDetail>>(CtnrInBodyDel);
|
|
|
var CtnrReturnList = JsonConvert.Deserialize<List<CtnrReturn>>(CtnReturn);
|
|
|
|
|
|
List<CtnrMngDetail> MngDetailList = new List<CtnrMngDetail>();
|
|
|
|
|
|
DBResult result = new DBResult(false,"",null);
|
|
|
bool bSell = head.BLTYPE == "卖箱" ? true : false;
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();
|
|
|
if (string.IsNullOrEmpty(head.BSNO))
|
|
|
head.BSNO =Guid.NewGuid().ToString().Replace("-", ""); ;
|
|
|
head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
head.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
head.MODIFIEDTIME = head.CREATETIME;
|
|
|
head.MODIFIEDUSER = head.CREATEUSER;
|
|
|
if (head.ETD == "") head.ETD = null;
|
|
|
if (head.RETURNDATE == "") head.RETURNDATE = null;
|
|
|
if (head.ENDRENTDATE == "") head.ENDRENTDATE = null;
|
|
|
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='租买箱'", Convert.ToString(Session["COMPANYID"]));
|
|
|
head.BILLNO= MsSysBillNoSetDAL.GetBillNo(billnoset, head.BSDATE.ToString().Trim(), head.ACCDATE.ToString().Trim());
|
|
|
List<CNTRSUM> cntrsumlist = new List<CNTRSUM>();
|
|
|
if (DetailBodyListAX != null)
|
|
|
{
|
|
|
foreach (CtnrDetailAX item in DetailBodyListAX)
|
|
|
{
|
|
|
CtnrMngDetail MngDetail = new CtnrMngDetail();
|
|
|
MngDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
//MngDetail.BSNO = head.BSNO;//关联不需要
|
|
|
MngDetail.CTNGID = item.CTNGID;
|
|
|
MngDetail.DRFEENAME = item.DRFEENAME;
|
|
|
MngDetail.CRFEENAME = item.CRFEENAME;
|
|
|
MngDetail.CR = item.CR;
|
|
|
MngDetail.DR = item.DR;
|
|
|
MngDetail.CURR = item.CURR;
|
|
|
MngDetailList.Add(MngDetail);
|
|
|
var isfind = false;
|
|
|
cntrsumlist.ForEach(i =>
|
|
|
{
|
|
|
if (i.CTNALL == item.CTNALL)
|
|
|
{
|
|
|
i.CTNNUM = i.CTNNUM + 1;
|
|
|
isfind = true;
|
|
|
}
|
|
|
});
|
|
|
if (!isfind)
|
|
|
{
|
|
|
var cntrsum = new CNTRSUM();
|
|
|
cntrsum.CTNALL = item.CTNALL;
|
|
|
cntrsum.CTNNUM = 1;
|
|
|
cntrsumlist.Add(cntrsum);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var cntrsumstr = "";
|
|
|
var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO ";
|
|
|
var codectndisp = MsContainerSetCtnDAL.GetData("");
|
|
|
var iteu = 0;
|
|
|
foreach (var item in cntrsumlist)
|
|
|
{
|
|
|
cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString();
|
|
|
if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR1=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR10=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString();
|
|
|
|
|
|
}
|
|
|
if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0)
|
|
|
{
|
|
|
iteu = iteu + item.CTNNUM * 2;
|
|
|
}
|
|
|
else iteu = iteu + item.CTNNUM;
|
|
|
}
|
|
|
cntrnumsql = cntrnumsql + ",TEU=" + iteu.ToString() + " where BSNO='" + head.BSNO + "'";
|
|
|
|
|
|
cntrsumstr = cntrsumstr.TrimStart();
|
|
|
head.CNTRTOTAL = cntrsumstr;
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
|
if (DetailBodyList == null)
|
|
|
{
|
|
|
DetailBodyList = new List<CtnrDetail>();
|
|
|
}
|
|
|
|
|
|
result = modb.Save(head,
|
|
|
ModelObjectConvert<CtnrMngDetail>.ToModelObjectList(MngDetailList),
|
|
|
ModelObjectConvert<CtnrMngDetail>.ToModelObjectList(null)
|
|
|
);
|
|
|
|
|
|
if (result.Success)
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql);
|
|
|
if (DetailBodyList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (CtnrDetail item in DetailBodyList)
|
|
|
{
|
|
|
item.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.ModelUIStatus = "I";
|
|
|
item.BSNO = head.BSNO;
|
|
|
item.CTNSTATUS = "可用";
|
|
|
result = modbDetail.Save(item);
|
|
|
if (result.Success)
|
|
|
{
|
|
|
CtnrDyDetail dyDetail = new CtnrDyDetail();
|
|
|
dyDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
dyDetail.CNTRNO = item.CNTRNO;
|
|
|
dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
dyDetail.CTNEF = item.CTNEF;
|
|
|
dyDetail.CTNGID = item.CTNGID;
|
|
|
dyDetail.CTNSTATUS =head.BLTYPE;
|
|
|
dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME;
|
|
|
dyDetail.ACCDATE = DateTime.Now.ToString("yyyy-MM");
|
|
|
dyDetail.MBLNO = item.MBLNO;
|
|
|
dyDetail.YARD = item.YARD;
|
|
|
dyDetail.PORT = item.PORT;
|
|
|
dyDetail.CUSTNO = item.CUSTNO;
|
|
|
dyDetail.REMARK = item.REMARK;
|
|
|
dyDetail.BSNO = head.BSNO;
|
|
|
var modbDy = new ModelObjectRepository();
|
|
|
dyDetail.ModelUIStatus = "I";
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
result = modbDy.Save(dyDetail);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (CtnrReturnList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (var item in CtnrReturnList)
|
|
|
{
|
|
|
item.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.ModelUIStatus = "I";
|
|
|
item.BSNO = head.BSNO;
|
|
|
item.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
item.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
result = modbDetail.Save(item);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
|
|
|
//if (MsOpCtnrDAL.DeleteAll(head.BSNO,true))
|
|
|
//{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
head.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();
|
|
|
head.MODIFIEDTIME = head.CREATETIME;
|
|
|
head.MODIFIEDUSER = head.CREATEUSER;
|
|
|
if (head.ETD == "") head.ETD = null;
|
|
|
if (head.RETURNDATE == "") head.RETURNDATE = null;
|
|
|
if (head.ENDRENTDATE == "") head.ENDRENTDATE = null;
|
|
|
|
|
|
List<CNTRSUM> cntrsumlist = new List<CNTRSUM>();
|
|
|
if (DetailBodyListAX != null)
|
|
|
{
|
|
|
foreach (CtnrDetailAX item in DetailBodyListAX)
|
|
|
{
|
|
|
CtnrMngDetail MngDetail = new CtnrMngDetail();
|
|
|
MngDetail.BSNO = item.BSNO;//关联不需要
|
|
|
if (MngDetail.BSNO == "*")
|
|
|
{
|
|
|
MngDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
MngDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.GID = MngDetail.GID;
|
|
|
MngDetail.BSNO = head.BSNO;
|
|
|
}
|
|
|
else {
|
|
|
MngDetail.DbOperationType = DbOperationType.DbotUpd;
|
|
|
MngDetail.GID = item.GID;
|
|
|
}
|
|
|
|
|
|
MngDetail.CTNGID = item.CTNGID;
|
|
|
MngDetail.DRFEENAME = item.DRFEENAME;
|
|
|
MngDetail.CRFEENAME = item.CRFEENAME;
|
|
|
MngDetail.CR = item.CR;
|
|
|
MngDetail.DR = item.DR;
|
|
|
MngDetail.CURR = item.CURR;
|
|
|
var modbDy = new ModelObjectRepository();
|
|
|
modbDy.Save(MngDetail);
|
|
|
MngDetailList.Add(MngDetail);
|
|
|
var isfind = false;
|
|
|
cntrsumlist.ForEach(i =>
|
|
|
{
|
|
|
if (i.CTNALL == item.CTNALL)
|
|
|
{
|
|
|
i.CTNNUM = i.CTNNUM + 1;
|
|
|
isfind = true;
|
|
|
}
|
|
|
});
|
|
|
if (!isfind)
|
|
|
{
|
|
|
var cntrsum = new CNTRSUM();
|
|
|
cntrsum.CTNALL = item.CTNALL;
|
|
|
cntrsum.CTNNUM = 1;
|
|
|
cntrsumlist.Add(cntrsum);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var cntrsumstr = "";
|
|
|
var codectndisp = MsContainerSetCtnDAL.GetData("");
|
|
|
var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO";
|
|
|
var iteu = 0;
|
|
|
|
|
|
foreach (var item in cntrsumlist)
|
|
|
{
|
|
|
cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString();
|
|
|
if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR1=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR10=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString();
|
|
|
|
|
|
}
|
|
|
if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0)
|
|
|
{
|
|
|
iteu = iteu + item.CTNNUM * 2;
|
|
|
}
|
|
|
else iteu = iteu + item.CTNNUM;
|
|
|
}
|
|
|
cntrnumsql = cntrnumsql + ",TEU="+iteu.ToString()+" where BSNO='"+head.BSNO+"'";
|
|
|
|
|
|
cntrsumstr = cntrsumstr.TrimStart();
|
|
|
head.CNTRTOTAL = cntrsumstr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
|
if (DetailBodyList == null)
|
|
|
{
|
|
|
DetailBodyList = new List<CtnrDetail>();
|
|
|
}
|
|
|
|
|
|
result = modb.Save(head);
|
|
|
|
|
|
if (result.Success )
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql);
|
|
|
|
|
|
if (DetailBodyList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (CtnrDetail item in DetailBodyList)
|
|
|
{
|
|
|
if (item.BSNO == "*")
|
|
|
{
|
|
|
item.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.ModelUIStatus = "I";
|
|
|
}
|
|
|
else {
|
|
|
item.DbOperationType = DbOperationType.DbotUpd;
|
|
|
item.ModelUIStatus = "E";
|
|
|
}
|
|
|
item.BSNO = head.BSNO;
|
|
|
item.CTNSTATUS = "可用";
|
|
|
|
|
|
result = modbDetail.Save(item);
|
|
|
if (result.Success)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
if (DetailBodyListAX != null)
|
|
|
{
|
|
|
foreach (CtnrDetailAX item in DetailBodyListAX)
|
|
|
{
|
|
|
CtnrDyDetail dyDetail = new CtnrDyDetail();
|
|
|
dyDetail.GID = item.GID;
|
|
|
dyDetail.CNTRNO = item.CNTRNO;
|
|
|
dyDetail.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
dyDetail.CTNEF = item.CTNEF;
|
|
|
dyDetail.CTNGID = item.CTNGID;
|
|
|
dyDetail.ACCDATE = DateTime.Now.ToString("yyyy-MM");
|
|
|
|
|
|
dyDetail.CTNSTATUS = head.BLTYPE;
|
|
|
dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME;
|
|
|
dyDetail.MBLNO = item.MBLNO;
|
|
|
dyDetail.YARD = item.YARD;
|
|
|
dyDetail.PORT = item.PORT;
|
|
|
dyDetail.CUSTNO = item.CUSTNO;
|
|
|
dyDetail.REMARK = item.REMARK;
|
|
|
dyDetail.BSNO = head.BSNO;
|
|
|
var modbDy = new ModelObjectRepository();
|
|
|
if (item.BSNO == "*")
|
|
|
{
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
dyDetail.ModelUIStatus = "I";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotUpd;
|
|
|
dyDetail.ModelUIStatus = "E";
|
|
|
}
|
|
|
result = modbDy.Save(dyDetail);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
if (CtnrReturnList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (var item in CtnrReturnList)
|
|
|
{
|
|
|
if (item.BSNO == "*")
|
|
|
{
|
|
|
item.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.ModelUIStatus = "I";
|
|
|
}
|
|
|
else {
|
|
|
item.DbOperationType = DbOperationType.DbotUpd;
|
|
|
item.ModelUIStatus = "E";
|
|
|
}
|
|
|
item.BSNO = head.BSNO;
|
|
|
item.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
item.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
result = modbDetail.Save(item);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|
|
var jsonRespose = new JsonResponse();
|
|
|
|
|
|
jsonRespose.Success = result.Success;
|
|
|
jsonRespose.Message = result.Message;
|
|
|
jsonRespose.Data = MsOpCtnrDAL.GetData(" BSNO='" + head.BSNO + "'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
|
public ActionResult CtrnFromExcel()
|
|
|
{
|
|
|
DBResult result = new DBResult();
|
|
|
if (Request.Files.Count == 0)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "参数错误";
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var excelfile = Request.Files[0];
|
|
|
string strMsg;
|
|
|
string ext = Path.GetExtension(excelfile.FileName).ToLower();
|
|
|
if (ext != ".xls" && ext != ".xlsx")
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message ="文件必须为EXCEL格式!";
|
|
|
return Json(result);
|
|
|
}
|
|
|
// var bsno = Request.Form["bsno"];
|
|
|
// var head = MsOpCtnrDAL.GetData("BSNO='"+bsno+"'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
DataTable dt = BasicDataRefDAL.ExcelToDatatable(excelfile.InputStream, ext, out strMsg);
|
|
|
if (!string.IsNullOrEmpty(strMsg))
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = strMsg;
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
var ctnlist=new List<CtnrDetailAX>();
|
|
|
foreach (DataRow row in dt.Rows)
|
|
|
{
|
|
|
CtnrDetailAX item = new CtnrDetailAX();
|
|
|
item.CTNALL = row["箱型"].ToString();
|
|
|
item.CNTRNO = row["箱号"].ToString();
|
|
|
item.CTNEFREF = row["空重"].ToString();
|
|
|
item.CNTRSOURCE = row["箱源"].ToString();
|
|
|
item.PORT = row["当前地点"].ToString();
|
|
|
item.YARD = row["当前场站"].ToString();
|
|
|
item.CRFEENAME = row["应付费用名称"].ToString();
|
|
|
item.CR = row["应付费用"].ToString();
|
|
|
if (item.CTNEFREF == "重")
|
|
|
item.CTNEF = "F";
|
|
|
else item.CTNEF = "E";
|
|
|
if (item.CTNEFREF.Length > 50) item.CTNEFREF = "";
|
|
|
if (item.CNTRSOURCE.Length > 50) item.CNTRSOURCE = "";
|
|
|
if (item.PORT.Length > 50) item.PORT = "";
|
|
|
if (item.YARD.Length > 50) item.YARD = "";
|
|
|
if (item.CRFEENAME.Length > 50) item.CRFEENAME = "";
|
|
|
if (item.CR.Length > 50) item.CR = "0";
|
|
|
|
|
|
ctnlist.Add(item);
|
|
|
}
|
|
|
var json = JsonConvert.Serialize(new { success = true, Message = "查询成功", totalCount = ctnlist.Count, data = ctnlist.ToList()});
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "excel无数据!";
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = ex.Message;
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult SaveSell(string opstatus, string data, string CtnrInBody, string CtnrInBodyDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<CtnrList>(data);
|
|
|
var DetailBodyList = JsonConvert.Deserialize<List<CtnrDetail>>(CtnrInBody);
|
|
|
var DetailBodyListAX = JsonConvert.Deserialize<List<CtnrDetailAX>>(CtnrInBody);
|
|
|
var DetailBodyDelList = JsonConvert.Deserialize<List<CtnrDetail>>(CtnrInBodyDel);
|
|
|
List<CtnrMngDetail> MngDetailList = new List<CtnrMngDetail>();
|
|
|
|
|
|
DBResult result = new DBResult(false, "", null);
|
|
|
bool bSell = (head.BLTYPE == "卖箱"|| head.BLTYPE == "退租") ? true : false;
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();
|
|
|
head.BSNO = Guid.NewGuid().ToString().Replace("-", ""); ;
|
|
|
head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
head.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
head.MODIFIEDTIME = head.CREATETIME;
|
|
|
head.MODIFIEDUSER = head.CREATEUSER;
|
|
|
if (head.ETD == "") head.ETD = null;
|
|
|
if (head.RETURNDATE == "") head.RETURNDATE = null;
|
|
|
|
|
|
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='租买箱'", Convert.ToString(Session["COMPANYID"]));
|
|
|
head.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, head.BSDATE.ToString().Trim(), head.ACCDATE.ToString().Trim());
|
|
|
List<CNTRSUM> cntrsumlist = new List<CNTRSUM>();
|
|
|
if (DetailBodyListAX != null)
|
|
|
{
|
|
|
foreach (CtnrDetailAX item in DetailBodyListAX)
|
|
|
{
|
|
|
CtnrMngDetail MngDetail = new CtnrMngDetail();
|
|
|
MngDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
//MngDetail.BSNO = head.BSNO;//关联不需要
|
|
|
MngDetail.CTNGID = item.CTNGID;
|
|
|
MngDetail.DRFEENAME = item.DRFEENAME;
|
|
|
MngDetail.CRFEENAME = item.CRFEENAME;
|
|
|
MngDetail.CR ="0";
|
|
|
MngDetail.DR = item.DR;
|
|
|
MngDetail.CURR = item.CURR;
|
|
|
MngDetailList.Add(MngDetail);
|
|
|
var isfind = false;
|
|
|
cntrsumlist.ForEach(i =>
|
|
|
{
|
|
|
if (i.CTNALL == item.CTNALL)
|
|
|
{
|
|
|
i.CTNNUM = i.CTNNUM + 1;
|
|
|
isfind = true;
|
|
|
}
|
|
|
});
|
|
|
if (!isfind)
|
|
|
{
|
|
|
var cntrsum = new CNTRSUM();
|
|
|
cntrsum.CTNALL = item.CTNALL;
|
|
|
cntrsum.CTNNUM = 1;
|
|
|
cntrsumlist.Add(cntrsum);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var cntrsumstr = "";
|
|
|
var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO ";
|
|
|
var codectndisp = MsContainerSetCtnDAL.GetData("");
|
|
|
var iteu = 0;
|
|
|
foreach (var item in cntrsumlist)
|
|
|
{
|
|
|
cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString();
|
|
|
if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR1=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString();
|
|
|
|
|
|
}
|
|
|
if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0)
|
|
|
{
|
|
|
iteu = iteu + item.CTNNUM * 2;
|
|
|
}
|
|
|
else iteu = iteu + item.CTNNUM;
|
|
|
}
|
|
|
cntrnumsql = cntrnumsql + ",TEU=" + iteu.ToString() + " where BSNO='" + head.BSNO + "'";
|
|
|
cntrsumstr = cntrsumstr.TrimStart();
|
|
|
head.CNTRTOTAL = cntrsumstr;
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
|
if (DetailBodyList == null)
|
|
|
{
|
|
|
DetailBodyList = new List<CtnrDetail>();
|
|
|
}
|
|
|
|
|
|
result = modb.Save(head,
|
|
|
ModelObjectConvert<CtnrMngDetail>.ToModelObjectList(MngDetailList),
|
|
|
ModelObjectConvert<CtnrMngDetail>.ToModelObjectList(null)
|
|
|
);
|
|
|
|
|
|
if (result.Success)
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql);
|
|
|
if (DetailBodyList != null)
|
|
|
{
|
|
|
foreach (CtnrDetail item in DetailBodyList)
|
|
|
{
|
|
|
|
|
|
if (result.Success)
|
|
|
{
|
|
|
CtnrDyDetail dyDetail = new CtnrDyDetail();
|
|
|
dyDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
dyDetail.CNTRNO = item.CNTRNO;
|
|
|
dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
|
|
|
dyDetail.CTNEF = item.CTNEF;
|
|
|
dyDetail.CTNGID = item.CTNGID;
|
|
|
dyDetail.CTNSTATUS =head.BLTYPE;
|
|
|
dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME;
|
|
|
dyDetail.MBLNO = item.MBLNO;
|
|
|
dyDetail.YARD = item.YARD;
|
|
|
dyDetail.PORT = item.PORT;
|
|
|
dyDetail.CUSTNO = item.CUSTNO;
|
|
|
dyDetail.REMARK = item.REMARK;
|
|
|
dyDetail.BSNO = head.BSNO;
|
|
|
|
|
|
var modbDy = new ModelObjectRepository();
|
|
|
dyDetail.ModelUIStatus = "I";
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
result = modbDy.Save(dyDetail);
|
|
|
}
|
|
|
}
|
|
|
if (bSell || head.RETURNTYPE == "卖箱")
|
|
|
{
|
|
|
MsOpCtnrDAL.UpCtnStop(head.BSNO, DetailBodyList);
|
|
|
}
|
|
|
if (head.BLTYPE == "租出" && head.RETURNTYPE == "返箱") {
|
|
|
MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList);
|
|
|
}
|
|
|
if (head.BLTYPE == "返箱")
|
|
|
{
|
|
|
MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList, "0");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
|
|
|
//if (MsOpCtnrDAL.DeleteAll(head))
|
|
|
//{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
head.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();
|
|
|
head.MODIFIEDTIME = head.CREATETIME;
|
|
|
head.MODIFIEDUSER = head.CREATEUSER;
|
|
|
if (head.ETD == "") head.ETD = null;
|
|
|
if (head.RETURNDATE == "") head.RETURNDATE = null;
|
|
|
if (head.ENDRENTDATE == "") head.ENDRENTDATE = null;
|
|
|
List<CNTRSUM> cntrsumlist = new List<CNTRSUM>();
|
|
|
if (DetailBodyListAX != null)
|
|
|
{
|
|
|
|
|
|
foreach (CtnrDetailAX item in DetailBodyListAX)
|
|
|
{
|
|
|
CtnrMngDetail MngDetail = new CtnrMngDetail();
|
|
|
MngDetail.BSNO = item.BSNO;//关联不需要
|
|
|
if (MngDetail.BSNO == "*")
|
|
|
{
|
|
|
MngDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
MngDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
item.GID = MngDetail.GID;
|
|
|
MngDetail.BSNO = head.BSNO;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
MngDetail.DbOperationType = DbOperationType.DbotUpd;
|
|
|
MngDetail.GID = item.GID;
|
|
|
}
|
|
|
|
|
|
MngDetail.CTNGID = item.CTNGID;
|
|
|
MngDetail.DRFEENAME = item.DRFEENAME;
|
|
|
MngDetail.CRFEENAME = item.CRFEENAME;
|
|
|
MngDetail.CR = item.CR;
|
|
|
MngDetail.DR = item.DR;
|
|
|
MngDetail.CURR = item.CURR;
|
|
|
var modbDy = new ModelObjectRepository();
|
|
|
modbDy.Save(MngDetail);
|
|
|
MngDetailList.Add(MngDetail);
|
|
|
var isfind = false;
|
|
|
cntrsumlist.ForEach(i =>
|
|
|
{
|
|
|
if (i.CTNALL == item.CTNALL)
|
|
|
{
|
|
|
i.CTNNUM = i.CTNNUM + 1;
|
|
|
isfind = true;
|
|
|
}
|
|
|
});
|
|
|
if (!isfind)
|
|
|
{
|
|
|
var cntrsum = new CNTRSUM();
|
|
|
cntrsum.CTNALL = item.CTNALL;
|
|
|
cntrsum.CTNNUM = 1;
|
|
|
cntrsumlist.Add(cntrsum);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
var cntrsumstr = "";
|
|
|
var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO ";
|
|
|
var codectndisp = MsContainerSetCtnDAL.GetData("");
|
|
|
var iteu = 0;
|
|
|
foreach (var item in cntrsumlist)
|
|
|
{
|
|
|
cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString();
|
|
|
if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql+ ",CNTR1=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL)
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",CNTR10=" + item.CTNNUM.ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString();
|
|
|
|
|
|
}
|
|
|
if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0)
|
|
|
{
|
|
|
iteu = iteu + item.CTNNUM * 2;
|
|
|
}
|
|
|
else iteu = iteu + item.CTNNUM;
|
|
|
}
|
|
|
cntrnumsql = cntrnumsql + ",TEU=" + iteu.ToString() + " where BSNO='" + head.BSNO + "'";
|
|
|
cntrsumstr = cntrsumstr.TrimStart();
|
|
|
head.CNTRTOTAL = cntrsumstr;
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
|
if (DetailBodyList == null)
|
|
|
{
|
|
|
DetailBodyList = new List<CtnrDetail>();
|
|
|
}
|
|
|
|
|
|
result = modb.Save(head);
|
|
|
|
|
|
if (result.Success)
|
|
|
{
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql);
|
|
|
if (DetailBodyList != null)
|
|
|
{
|
|
|
var modbDetail = new ModelObjectRepository();
|
|
|
foreach (CtnrDetail item in DetailBodyList)
|
|
|
{
|
|
|
if (result.Success)
|
|
|
{
|
|
|
CtnrDyDetail dyDetail = new CtnrDyDetail();
|
|
|
dyDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
dyDetail.CNTRNO = item.CNTRNO;
|
|
|
dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
dyDetail.CTNEF = item.CTNEF;
|
|
|
dyDetail.CTNGID = item.CTNGID;
|
|
|
dyDetail.CTNSTATUS =head.BLTYPE;
|
|
|
dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME;
|
|
|
dyDetail.MBLNO = item.MBLNO;
|
|
|
dyDetail.YARD = item.YARD;
|
|
|
dyDetail.PORT = item.PORT;
|
|
|
dyDetail.CUSTNO = item.CUSTNO;
|
|
|
dyDetail.REMARK = item.REMARK;
|
|
|
dyDetail.BSNO = head.BSNO;
|
|
|
var modbDy = new ModelObjectRepository();
|
|
|
if (item.BSNO == "*")
|
|
|
{
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
dyDetail.ModelUIStatus = "I";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotUpd;
|
|
|
dyDetail.ModelUIStatus = "E";
|
|
|
}
|
|
|
result = modbDy.Save(dyDetail);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (bSell)
|
|
|
{
|
|
|
MsOpCtnrDAL.UpCtnStop(head.BSNO, DetailBodyList);
|
|
|
}
|
|
|
if (head.BLTYPE == "租出" && head.RETURNTYPE == "返箱")
|
|
|
{
|
|
|
MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList);
|
|
|
}
|
|
|
if (head.BLTYPE == "返箱")
|
|
|
{
|
|
|
MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList,"0");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|
|
var jsonRespose = new JsonResponse();
|
|
|
|
|
|
jsonRespose.Success = result.Success;
|
|
|
jsonRespose.Message = result.Message;
|
|
|
jsonRespose.Data = MsOpCtnrDAL.GetData(" BSNO='" + head.BSNO + "'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
public ContentResult SaveSellDetail(string headdata, string data, string bsno)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<CtnrList>(headdata);
|
|
|
var ctndetail = JsonConvert.Deserialize<List<CtnrDetail>>(data);
|
|
|
DBResult result = MsOpCtnrDAL.SaveSellDetail(head, ctndetail, head.BSNO, CookieConfig.GetCookie_UserId(Request));
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult SaveDyna(string opstatus, string data)
|
|
|
{
|
|
|
var headData = JsonConvert.Deserialize<CtnrDyDetail>(data);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotIns;
|
|
|
headData.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
headData.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headData.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
headData.MODIFYTIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
headData.MODIFYUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
|
|
|
if (headData.ETA == "") headData.ETA = null;
|
|
|
if (headData.ETD == "") headData.ETD = null;
|
|
|
if (headData.PORTLOAD_CNT_TIME == "") headData.PORTLOAD_CNT_TIME = null;
|
|
|
if (headData.DEST_CNT_TIME == "") headData.DEST_CNT_TIME = null;
|
|
|
if (headData.DEST_RTCNT_TIME == "") headData.DEST_RTCNT_TIME = null;
|
|
|
|
|
|
var modb = new ModelObjectDB();
|
|
|
headData = MsOpCtnrDAL.SetDynaStatus(headData);
|
|
|
|
|
|
var result=modb.Save(headData);
|
|
|
|
|
|
|
|
|
|
|
|
var jsonRespose = new JsonResponse();
|
|
|
if (result.Success)
|
|
|
{
|
|
|
jsonRespose.Success = result.Success;
|
|
|
jsonRespose.Message = result.Message;
|
|
|
jsonRespose.Data = MsOpCtnrDAL.GetDyna(" GID='" + headData.GID + "'");
|
|
|
}
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult DeleteDyna(string data)
|
|
|
{
|
|
|
var headList = JsonConvert.Deserialize<List<CtnrDyDetail>>(data);
|
|
|
DBResult result = null;
|
|
|
var errstr = "";
|
|
|
if (headList != null)
|
|
|
{
|
|
|
foreach (CtnrDyDetail item in headList)
|
|
|
{
|
|
|
var isfee = MsOpCtnrDAL.GetFeeCount(item.GID);
|
|
|
if (isfee)
|
|
|
{
|
|
|
if (errstr == "")
|
|
|
errstr = item.CNTRNO;
|
|
|
else
|
|
|
errstr = errstr + "," + item.CNTRNO;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
item.DbOperationType = DbOperationType.DbotDel;
|
|
|
var modb = new ModelObjectDB();
|
|
|
result = modb.Save(item);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (errstr != "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = errstr + " 已存在费用,不允许删除!" };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
|
|
|
}
|
|
|
|
|
|
var jsonRespose = new JsonResponse();
|
|
|
jsonRespose.Success = result.Success;
|
|
|
jsonRespose.Message = result.Message;
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetDyna(string handle, string condition)
|
|
|
{
|
|
|
CtnrDyDetail head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = MsOpCtnrDAL.GetDynaList(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new CtnrDyDetail();
|
|
|
head.ACCDATE = DateTime.Now.ToString("yyyy-MM");
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器 }
|
|
|
public ContentResult GetCopyDynaData(string handle, string condition, string copyfee = "false")
|
|
|
{
|
|
|
CtnrDyDetail head = null;
|
|
|
|
|
|
var oldhead = MsOpCtnrDAL.GetDyna(condition);
|
|
|
|
|
|
var BSNO = oldhead.GID;
|
|
|
head = oldhead;
|
|
|
head.GID = Guid.NewGuid().ToString();
|
|
|
var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"]));
|
|
|
if (Convert.ToDateTime(period.FDAY) > DateTime.Now)
|
|
|
{
|
|
|
head.ACCDATE = period.PERIOD;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.ACCDATE = DateTime.Now.ToString("yyyy-MM");
|
|
|
}
|
|
|
head.BSSTATUS = false;
|
|
|
head.FEESTATUS = false;
|
|
|
head.BSSTATUSREF = "未锁定";
|
|
|
head.FEESTATUSREF = "未锁定";
|
|
|
|
|
|
|
|
|
if (copyfee == "true")
|
|
|
{
|
|
|
var feelist = MsChFeeDAL.GetAllDataList("BSNO='"+ BSNO + "'");
|
|
|
if (feelist != null)
|
|
|
{
|
|
|
for (int _i = 0; _i < feelist.Count; _i++)
|
|
|
{
|
|
|
feelist[_i].BsNo = "*";
|
|
|
}
|
|
|
MsChFeeDAL.SaveFee(feelist, head.GID, CookieConfig.GetCookie_UserId(Request));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult InsertCtn(string data, string BSNO)
|
|
|
{
|
|
|
var CtnrList = JsonConvert.Deserialize<List<CtnrDetail>>(data);
|
|
|
var result = MsOpCtnrDAL.CtnAdd(BSNO,CtnrList, CookieConfig.GetCookie_UserId(Request));
|
|
|
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = result.Success, Message = result.Message});
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult PLCntrStatus(string data, string modifydata)
|
|
|
{
|
|
|
var DetailBodyList = JsonConvert.Deserialize<List<CtnrDyDetail>>(data);
|
|
|
var CtnrDyDetail = JsonConvert.Deserialize<CtnrDyDetail>(modifydata);
|
|
|
|
|
|
DBResult result = null;
|
|
|
|
|
|
result = MsOpCtnrDAL.Modify(DetailBodyList, CtnrDyDetail, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
|
public ActionResult CtrnStatusFromExcel()
|
|
|
{
|
|
|
DBResult result = new DBResult();
|
|
|
if (Request.Files.Count == 0)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "参数错误";
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var excelfile = Request.Files[0];
|
|
|
string strMsg;
|
|
|
string ext = Path.GetExtension(excelfile.FileName).ToLower();
|
|
|
if (ext != ".xls" && ext != ".xlsx")
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "文件必须为EXCEL格式!";
|
|
|
return Json(result);
|
|
|
}
|
|
|
// var bsno = Request.Form["bsno"];
|
|
|
// var head = MsOpCtnrDAL.GetData("BSNO='"+bsno+"'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
DataTable dt = BasicDataRefDAL.ExcelToDatatable(excelfile.InputStream, ext, out strMsg);
|
|
|
if (!string.IsNullOrEmpty(strMsg))
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = strMsg;
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
|
|
|
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
var ctnlist = new List<CtnrDetailAX>();
|
|
|
foreach (DataRow row in dt.Rows)
|
|
|
{
|
|
|
|
|
|
|
|
|
CtnrDyDetail dyDetail = new CtnrDyDetail();
|
|
|
dyDetail.DbOperationType = DbOperationType.DbotIns;
|
|
|
dyDetail.ModelUIStatus = "I";
|
|
|
dyDetail.GID = Guid.NewGuid().ToString().Replace("-", "");
|
|
|
dyDetail.CNTRNO = row["箱号"].ToString();
|
|
|
dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss");
|
|
|
dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
var CTNEFREF = row["空重"].ToString();
|
|
|
if (CTNEFREF == "重")
|
|
|
dyDetail.CTNEF = "F";
|
|
|
else dyDetail.CTNEF = "E";
|
|
|
var ctncode = MsOpCtnrDAL.GetCtnData("CNTRNO='"+ dyDetail.CNTRNO + "'");
|
|
|
dyDetail.CTNGID = ctncode.CTNGID;
|
|
|
dyDetail.CTNSTATUS = row["当前动态"].ToString();
|
|
|
var cntrstatustime = row["动态时间"].ToString();
|
|
|
try
|
|
|
{
|
|
|
dyDetail.CTNSTATUSTIME =Convert.ToDateTime(cntrstatustime).ToString("yyyy-MM-dd");
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
dyDetail.CTNSTATUSTIME = DateTime.Now.ToString("yyyy - MM - dd");
|
|
|
}
|
|
|
|
|
|
|
|
|
dyDetail.MBLNO = row["主提单号"].ToString();
|
|
|
dyDetail.YARD = row["场站"].ToString();
|
|
|
dyDetail.PORT = row["地点"].ToString();
|
|
|
dyDetail.CUSTNO ="";
|
|
|
var remark= row["动态备注"].ToString();
|
|
|
if (remark.Length == 36) remark = "";
|
|
|
dyDetail.REMARK = remark;
|
|
|
var modbDy = new ModelObjectDB();
|
|
|
result = modbDy.Save(dyDetail);
|
|
|
|
|
|
}
|
|
|
var json = JsonConvert.Serialize(new { success = true, Message = "查询成功", totalCount = ctnlist.Count, data = ctnlist.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "excel无数据!";
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = ex.Message;
|
|
|
}
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ContentResult CreateCost(string data, string CtnrInBody,string flag)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<CtnrList>(data);
|
|
|
var DetailBodyListAX = JsonConvert.Deserialize<List<CtnrDetailAX>>(CtnrInBody);
|
|
|
|
|
|
string msg = "";
|
|
|
bool rst = false;
|
|
|
string userid = Session["USERID"] == null ? "" : Session["USERID"].ToString();
|
|
|
if (flag == "0")
|
|
|
rst = MsOpCtnrDAL.CreateCost(head, DetailBodyListAX, userid, out msg);
|
|
|
else if (flag == "1")
|
|
|
rst = MsOpCtnrDAL.CancelCost(head, userid, out msg);
|
|
|
var json = JsonConvert.Serialize(new { Success = rst, Message = msg, totalCount = 1 });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult Delete(string data, string USERID)
|
|
|
{
|
|
|
var CtnrList = JsonConvert.Deserialize<List<CtnrList>>(data);
|
|
|
|
|
|
var errstr = "";
|
|
|
foreach (var enumValue in CtnrList)
|
|
|
{
|
|
|
|
|
|
var isfee = MsOpCtnrDAL.GetFeeCount(enumValue.BSNO);
|
|
|
if (isfee)
|
|
|
{
|
|
|
if (errstr == "")
|
|
|
errstr = enumValue.BILLNO;
|
|
|
else
|
|
|
errstr = errstr + "," + enumValue.BILLNO;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
string msg = "";
|
|
|
|
|
|
if (errstr != "") {
|
|
|
var jsonRespose2 = new JsonResponse { Success =false, Message = errstr+" 已存在费用,不允许删除!" };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
bool success = MsOpCtnrDAL.Delete(CtnrList,out msg);
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = success, Message = msg };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult DeleteSell(string data, string USERID)
|
|
|
{
|
|
|
var CtnrList = JsonConvert.Deserialize<List<CtnrList>>(data);
|
|
|
|
|
|
var errstr = "";
|
|
|
foreach (var enumValue in CtnrList)
|
|
|
{
|
|
|
|
|
|
var isfee = MsOpCtnrDAL.GetFeeCount(enumValue.BSNO);
|
|
|
if (isfee)
|
|
|
{
|
|
|
if (errstr == "")
|
|
|
errstr = enumValue.BILLNO;
|
|
|
else
|
|
|
errstr = errstr + "," + enumValue.BILLNO;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
string msg = "";
|
|
|
|
|
|
if (errstr != "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = errstr + " 已存在费用,不允许删除!" };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
bool success = MsOpCtnrDAL.Delete(CtnrList, out msg);
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = success, Message = msg };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult DeleteDetail(string data,string bsno)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize <List<CtnrDetail>>(data);
|
|
|
DBResult result = MsOpCtnrDAL.DeleteCtnDetail(head, bsno,true);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
public ContentResult DeleteSellDetail(string headdata,string data, string bsno)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<CtnrList>(headdata);
|
|
|
var ctndetail = JsonConvert.Deserialize<List<CtnrDetail>>(data);
|
|
|
DBResult result = MsOpCtnrDAL.DeleteCtnDetail(head, ctndetail, head.BSNO, false);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult DeleteReturnDetail(string data, string bsno)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<List<CtnrReturn>>(data);
|
|
|
DBResult result = MsOpCtnrDAL.DeleteCtnReturnDetail(head, bsno);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnSum(string condition)
|
|
|
{
|
|
|
|
|
|
condition = condition.Replace("'", "''");
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" declare @sql NVARCHAR(max) ");
|
|
|
strSql.Append(" set @sql='select b.PORT,b.YARD,b.CTNSTATUS' ");
|
|
|
strSql.Append(" select @sql=@sql+',sum(case when b.CTNALL='''+t.CTNALL+''' then 1 else 0 end) as C'+t.CTNALL ");
|
|
|
strSql.Append(" from (select distinct CTNALL from op_ctnmng_ctndetail) as t");
|
|
|
strSql.Append(" set @sql=@sql+' from v_op_ctnmng_ctndetail b ");
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
|
{
|
|
|
strSql.Append(" Where 1=1 AND " + condition);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" Where 1=1 ");
|
|
|
}
|
|
|
|
|
|
strSql.Append(" group by b.port,b.yard,b.CTNSTATUS ' ");
|
|
|
strSql.Append(" exec(@sql) ");
|
|
|
|
|
|
var dbparams = new List<CustomDbParamter>();
|
|
|
|
|
|
var paramps_sSQL = new CustomDbParamter();
|
|
|
paramps_sSQL.ParameterName = "@sSQL";
|
|
|
paramps_sSQL.DbType = DbType.String;
|
|
|
paramps_sSQL.Direction = ParameterDirection.Input;
|
|
|
paramps_sSQL.Value = strSql.ToString();
|
|
|
dbparams.Add(paramps_sSQL);
|
|
|
|
|
|
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
|
|
|
var json = RptHelper.GetRptJsonResult(0, 100, dbRptResult, "Result_Set", true);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult GetCtnList(string condition)
|
|
|
{
|
|
|
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select distinct CTNALL from op_ctnmng_ctndetail ");
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
|
{
|
|
|
strSql.Append(" Where " + condition);
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var dbparams = new List<CustomDbParamter>();
|
|
|
|
|
|
var paramps_sSQL = new CustomDbParamter();
|
|
|
paramps_sSQL.ParameterName = "@sSQL";
|
|
|
paramps_sSQL.DbType = DbType.String;
|
|
|
paramps_sSQL.Direction = ParameterDirection.Input;
|
|
|
paramps_sSQL.Value = strSql.ToString();
|
|
|
dbparams.Add(paramps_sSQL);
|
|
|
|
|
|
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
|
|
|
var json = RptHelper.GetRptJsonResult(0, 20, dbRptResult, "Result_Set", true);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult CreateBsFee(string data)
|
|
|
{
|
|
|
var CtnrList = JsonConvert.Deserialize<List<CtnrList>>(data);
|
|
|
|
|
|
|
|
|
var result = MsOpCtnrDAL.CreateBsFee(CtnrList, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
public ContentResult CreateCtnBsFee(string data)
|
|
|
{
|
|
|
var CtnrList = JsonConvert.Deserialize<List<CtnrDyDetail>>(data);
|
|
|
|
|
|
|
|
|
var result = MsOpCtnrDAL.CreateCtnBsFee(CtnrList, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
}
|
|
|
} |