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 ) } ;
}
}
}