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.
DS7/DSWeb/Areas/MvcContainer/Controllers/MsOpCtnrController.cs

1739 lines
75 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.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) };
}
}
}