using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Web.Mvc ;
using DSWeb.Areas.TruckMng.DAL.TMSRPT ;
using DSWeb.Areas.TruckMng.Models ;
using DSWeb.Areas.TruckMng.Models.TMSRPT ;
using DSWeb.Areas.TruckMng.Models.Card ;
using DSWeb.TruckMng.Comm.Cookie ;
using DSWeb.TruckMng.Helper ;
using DSWeb.TruckMng.Helper.Repository ;
using HcUtility.Comm ;
using HcUtility.Core ;
using System.Text ;
using System.Data ;
using Microsoft.Practices.EnterpriseLibrary.Data ;
using DSWeb.Areas.CommMng.Models ;
using DSWeb.Areas.CommMng.DAL ;
using DSWeb.Areas.TruckMng.DAL.MsWlInsure ;
using System.IO ;
using System.Data.OleDb ;
namespace DSWeb.Areas.TruckMng.Controllers
{
[JsonRequestBehavior]
public class TMSRPTController : Controller
{
/ /
// GET: /TruckMng/MsWlTruck
public ActionResult MONTH_Index ( )
{
return View ( ) ;
}
/ /
// GET: /TruckMng/MsWlTruck/Edit
public ActionResult MONTH_Edit ( )
{
return View ( ) ;
}
public ActionResult MONTH_View ( )
{
return View ( ) ;
}
/ /
// GET: /TruckMng/MsWlTruck/GetDataList
public ContentResult MONTH_GetDataList ( int start , int limit , string sort , string condition )
{
var dataList = TMSRPTDAL . GetDataList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , CookieConfig . GetCookie_OrgCode ( Request ) , 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 } ;
}
/ /
// GET: /TruckMng/MsWlTruck/GetData/
public ContentResult MONTH_GetData ( string handle , string condition )
{
TMSRPT_MONTH head = null ;
if ( handle = = "edit" )
{
var list = TMSRPTDAL . GetDataList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , CookieConfig . GetCookie_OrgCode ( Request ) ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
}
if ( head = = null )
{
head = new TMSRPT_MONTH ( ) ;
head . GID = System . Guid . NewGuid ( ) . ToString ( ) ;
head . OP = Session [ "SHOWNAME" ] . ToString ( ) ;
head . COMPANYID = Session [ "COMPANYID" ] . ToString ( ) ;
head . ACCDATE = TMSRPTDAL . GetACCDATE ( Session [ "COMPANYID" ] . ToString ( ) ) ;
head . OPDATE = System . DateTime . Now . ToString ( "yyyy-MM-dd" ) ;
head . FUELPRICE = "0" ;
}
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = head } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult Save ( string opstatus , string data , string body , string delbody )
{
TMSRPT_MONTH head = JsonConvert . Deserialize < TMSRPT_MONTH > ( data ) ;
var bodyList = JsonConvert . Deserialize < List < TMSRPT_MONTH_TRUCKDETAIL > > ( body ) ;
var bodyDelList = JsonConvert . Deserialize < List < TMSRPT_MONTH_TRUCKDETAIL > > ( delbody ) ;
if ( opstatus = = "add" )
{
head . DbOperationType = DbOperationType . DbotIns ;
head . ModelUIStatus = "I" ;
//head.OP = Convert.ToString(Session["SHOWNAME"]);
//head.OPDATE = System.DateTime.Now.ToString("G");
//head.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
}
else if ( opstatus = = "edit" )
{
head . DbOperationType = DbOperationType . DbotUpd ;
head . ModelUIStatus = "E" ;
head . OP = Convert . ToString ( Session [ "SHOWNAME" ] ) ;
head . OPDATE = System . DateTime . Now . ToString ( "G" ) ;
}
else
{
head . DbOperationType = DbOperationType . DbotDel ;
}
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . Save ( head ,
ModelObjectConvert < TMSRPT_MONTH_TRUCKDETAIL > . ToModelObjectList ( bodyList ) ,
ModelObjectConvert < TMSRPT_MONTH_TRUCKDETAIL > . ToModelObjectList ( bodyDelList )
) ;
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = TMSRPTDAL . GetData ( "GID='" + head . GID + "'" , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , CookieConfig . GetCookie_OrgCode ( Request ) )
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult Delete ( string data )
{
var head = JsonConvert . Deserialize < TMSRPT_MONTH > ( data ) ;
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Delete ( head , Session [ "USERID" ] . ToString ( ) , true
, "delete from TMSRPT_MONTH_TRUCKDETAIL where GID='" + head . GID + "'"
) ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetBodyList ( int start , int limit , string condition )
{
var dataList = TMSRPTDAL . GetBodyList ( condition ) ;
var list = dataList . Skip ( start ) . Take ( limit ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = list . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetCompanyDetailList ( int start , int limit , string condition )
{
var dataList = TMSRPTDAL . GetCompanyDetailList ( condition ) ;
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 } ;
}
/ *
#region 参照部分
public ContentResult GetDrvCodeList ( )
{
var list = MsWlTruckDAL . GetDrvCodeList ( Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , CookieConfig . GetCookie_OrgCode ( Request ) ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , data = list . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
# endregion
/ /
public ContentResult GetTruckMonthList ( string condition )
{
var dataList = MsWlTruckDAL . GetTruckMonthList ( condition ) ;
//var list = dataList.Skip(start).Take(limit);
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
* /
public ContentResult ReMake ( string data )
{
TMSRPT_MONTH head = JsonConvert . Deserialize < TMSRPT_MONTH > ( data ) ;
var result = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( " delete from TMSRPT_MONTH_TRUCKDETAIL where LINKGID='" + head . GID + "' " ) ;
strSql . Append ( " insert into TMSRPT_MONTH_TRUCKDETAIL(GID,LINKGID,COMPANYID,TRUCKNO,TEU,RATEDMIL,OVERLOADMIL,TONS,REALFUEL,RATEDFUEL,REMAINFUEL,AMOUNT,LQF,OTHERAMOUNT " ) ;
strSql . Append ( " ,ZJF,BXF,FUELPRICE,FUELAMOUNT,REPAIRDAYS,REPAIRAMOUNT,TYREAMOUNT,TAX,TRUCKCOST,TRUCKPROFIT_M,CARDAYS,WORKDAYS,USABLEDAYS,USABLERATE,MILPERDAY,PcBillType,FUELAMOUNTRATE) " ) ;
strSql . Append ( " exec [proc_TMSRPT_MONTH] '" + head . GID + "','" + head . COMPANYID + "'," + head . FUELPRICE + ",'" + head . ACCDATE + "','','" + head . EXPDATEBGN + "','" + head . EXPDATEEND + "' " ) ;
var cmdupdate = db . GetSqlStringCommand ( strSql . ToString ( ) ) ;
cmdupdate . Parameters . Clear ( ) ;
db . ExecuteNonQuery ( cmdupdate , tran ) ;
result = new DBResult ( ) ;
result . Success = true ;
result . Message = "审核成功" ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "审核错误,请重试或联系系统管理员" ;
}
}
if ( result . Success = = true ) {
MakeBX ( data ) ;
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult LoadBeforeFee ( string data )
{
//从上个月份获取数据
TMSRPT_MONTH head = JsonConvert . Deserialize < TMSRPT_MONTH > ( data ) ;
var result = new DBResult ( ) ;
var beforeACCDATE = TMSRPTDAL . GetBeforeACCDATE ( head ) ;
if ( beforeACCDATE ! = "" )
{
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
var strSql = new StringBuilder ( ) ;
strSql . Append ( " update TMSRPT_MONTH_TRUCKDETAIL set " ) ;
strSql . Append ( " zjf=(select top 1 isnull(ZJF,0) from TMSRPT_MONTH_TRUCKDETAIL T where T.TRUCKNO=TMSRPT_MONTH_TRUCKDETAIL.TRUCKNO and T.LINKGID=(select top 1 gid from TMSRPT_MONTH where ACCDATE='" + beforeACCDATE + "' and COMPANYID='" + head . COMPANYID + "' and isnull(isdelete,0)=0)) " ) ;
// strSql.Append(" ,SBF=(select top 1 isnull(SBF,0) from TMSRPT_MONTH_TRUCKDETAIL T where T.TRUCKNO=TMSRPT_MONTH_TRUCKDETAIL.TRUCKNO and T.LINKGID=(select top 1 gid from TMSRPT_MONTH where ACCDATE='" + beforeACCDATE + "' and COMPANYID='" + head.COMPANYID + "' and isnull(isdelete,0)=0)) ");
// strSql.Append(" ,GJJ=(select top 1 isnull(GJJ,0) from TMSRPT_MONTH_TRUCKDETAIL T where T.TRUCKNO=TMSRPT_MONTH_TRUCKDETAIL.TRUCKNO and T.LINKGID=(select top 1 gid from TMSRPT_MONTH where ACCDATE='" + beforeACCDATE + "' and COMPANYID='" + head.COMPANYID + "' and isnull(isdelete,0)=0)) ");
strSql . Append ( " where LINKGID='" + head . GID + "' " ) ;
var cmdupdate = db . GetSqlStringCommand ( strSql . ToString ( ) ) ;
cmdupdate . Parameters . Clear ( ) ;
db . ExecuteNonQuery ( cmdupdate , tran ) ;
result = new DBResult ( ) ;
result . Success = true ;
result . Message = "审核成功" ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "审核错误,请重试或联系系统管理员" ;
}
}
}
var jsonRespose = new JsonResponse
{
Success = false ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult MakeBX ( string data ) //生成保险费
{
TMSRPT_MONTH head = JsonConvert . Deserialize < TMSRPT_MONTH > ( data ) ;
var result = new DBResult ( ) ;
result . Success = true ;
result . Message = "没有保险数据" ;
var DetailList = TMSRPTDAL . GetBodyList ( "LINKGID='" + head . GID + "'" ) ;
var UPDList = TMSRPTDAL . GetBodyList ( "1=2" ) ;
foreach ( var _D in DetailList ) {
var _FEE = 0 M ;
var BXList = MsWlInsureDAL . GetAllDataList ( " TRUCKNO='" + _D . TRUCKNO
+ "' and (InsureEndDate between '" + head . EXPDATEBGN . Substring ( 0 , 10 ) + "' and '" + head . EXPDATEEND . Substring ( 0 , 10 ) + "'"
+ " or InsureBgnDate between '" + head . EXPDATEBGN . Substring ( 0 , 10 ) + "' and '" + head . EXPDATEEND . Substring ( 0 , 10 ) + "' "
+ " or '" + head . EXPDATEBGN . Substring ( 0 , 10 ) + "' between InsureBgnDate and InsureEndDate "
+ " or '" + head . EXPDATEEND . Substring ( 0 , 10 ) + "' between InsureBgnDate and InsureEndDate ) and isnull((select sum(isnull(insuretotal,0)) from tMsWlInsureBody b where b.BillNo=tMsWlInsurehead.BillNo),0)>0 " ) ;
var truckbgn = Convert . ToDateTime ( head . EXPDATEBGN . Substring ( 0 , 10 ) ) ;
var truckend = Convert . ToDateTime ( head . EXPDATEEND . Substring ( 0 , 10 ) ) ;
if ( BXList . Count = = 0 ) {
continue ;
}
foreach ( var _B in BXList ) {
var insurebgn = Convert . ToDateTime ( _B . InsureBgnDate ) ;
var insureend = Convert . ToDateTime ( _B . InsureEndDate ) ;
//保险大于月内 以车时间为准
if ( insurebgn < = truckbgn & & insureend > = truckend )
{
TimeSpan _insuredays = insureend . Subtract ( insurebgn ) ;
var insuredays = Convert . ToDecimal ( _insuredays . Days . ToString ( ) ) + 1 ;
var _dayFee = Convert . ToDecimal ( _B . InsureTotal ) / insuredays ;
TimeSpan _Truckdays = truckend . Subtract ( truckbgn ) ;
var Truckdays = Convert . ToDecimal ( _Truckdays . Days . ToString ( ) ) + 1 ;
_FEE = _FEE + Truckdays * _dayFee ;
}
else
if ( insurebgn < = truckbgn & & insureend > truckbgn & & insureend < truckend )
//前交叉 车开始日期 在保险起止日期之间
{
TimeSpan _insuredays = insureend . Subtract ( insurebgn ) ;
var insuredays = Convert . ToDecimal ( _insuredays . Days . ToString ( ) ) + 1 ;
var _dayFee = Convert . ToDecimal ( _B . InsureTotal ) / insuredays ;
TimeSpan _Truckdays = insureend . Subtract ( truckbgn ) ;
var Truckdays = Convert . ToDecimal ( _Truckdays . Days . ToString ( ) ) + 1 ;
_FEE = _FEE + Truckdays * _dayFee ;
}
else
if ( insurebgn > truckbgn & & insurebgn < = truckend & & insureend > truckend )
//后交叉 车结束日期 在保险起止日期之间
{
TimeSpan _insuredays = insureend . Subtract ( insurebgn ) ;
var insuredays = Convert . ToDecimal ( _insuredays . Days . ToString ( ) ) + 1 ;
var _dayFee = Convert . ToDecimal ( _B . InsureTotal ) / insuredays ;
TimeSpan _Truckdays = truckend . Subtract ( insurebgn ) ;
var Truckdays = Convert . ToDecimal ( _Truckdays . Days . ToString ( ) ) + 1 ;
_FEE = _FEE + Truckdays * _dayFee ;
}
else
if ( insurebgn > = truckbgn & & insureend < = truckend )
//保险包含于车日之内
{
TimeSpan _insuredays = insureend . Subtract ( insurebgn ) ;
var insuredays = Convert . ToDecimal ( _insuredays . Days . ToString ( ) ) + 1 ;
var _dayFee = Convert . ToDecimal ( _B . InsureTotal ) / insuredays ;
TimeSpan _Truckdays = insureend . Subtract ( insurebgn ) ;
var Truckdays = Convert . ToDecimal ( _Truckdays . Days . ToString ( ) ) + 1 ;
_FEE = _FEE + Truckdays * _dayFee ;
}
}
if ( _FEE > 0 )
{
//费用后台计算
_D . BXF = _FEE . ToString ( ) ;
//保险费加入成本
_D . TRUCKCOST = Convert . ToString ( Convert . ToDecimal ( _D . TRUCKCOST ) + _FEE ) ;
//计算:燃油费用占收入比
if ( Convert . ToDecimal ( _D . AMOUNT ) ! = 0 ) {
_D . FUELAMOUNTRATE = Convert . ToString ( Convert . ToDecimal ( _D . FUELAMOUNT ) / Convert . ToDecimal ( _D . AMOUNT ) ) ;
}
UPDList . Add ( _D ) ;
}
}
if ( UPDList . Count > 0 )
{
var modb = new ModelObjectRepository ( ) ;
result = modb . SaveComm (
ModelObjectConvert < TMSRPT_MONTH_TRUCKDETAIL > . ToModelObjectList ( DetailList )
) ;
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
#region 审核 是否允许查看
public ContentResult StartAudit ( String USERID , String bill )
{
var result = new DBResult ( ) ;
var WorkFlowName = "TMSRPT_MONTHAudit" ;
var billList = bill . Split ( ',' ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
foreach ( var billno in billList )
{
Resultmb WorkResult = WorkFlowDAL . WorkFlowStart ( WorkFlowName , billno , USERID , "" , billno , "" ) ;
if ( WorkResult . Success = = true )
{
var cmdupdate = db . GetSqlStringCommand ( "update TMSRPT_MONTH set BLSTATUS=1 where GID=@GID and BLSTATUS in(0,4) " ) ;
cmdupdate . Parameters . Clear ( ) ;
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db . AddInParameter ( cmdupdate , "@GID" , DbType . String , billno ) ;
db . ExecuteNonQuery ( cmdupdate , tran ) ;
}
else
{
result . Success = false ;
result . Message = "审核错误!" ;
}
}
result = new DBResult ( ) ;
result . Success = true ;
result . Message = "审核成功" ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "审核错误,请重试或联系系统管理员" ;
//return result;
}
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult ResetAudit ( String USERID , String bill )
{
var result = new DBResult ( ) ;
var WorkFlowName = "TMSRPT_MONTHAudit" ;
var billList = bill . Split ( ',' ) ;
var _count = 0 ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
foreach ( var billno in billList )
{
Resultmb WorkResult = WorkFlowDAL . WorkFlowReset ( WorkFlowName , billno , USERID ) ;
if ( WorkResult . Success = = true )
{
var cmdupdate = db . GetSqlStringCommand ( "update CRM_QUOTATION set BLSTATUS=1 where GID=@GID and BLSTATUS in()" ) ;
cmdupdate . Parameters . Clear ( ) ;
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db . AddInParameter ( cmdupdate , "@GID" , DbType . String , billno ) ;
_count = db . ExecuteNonQuery ( cmdupdate , tran ) ;
}
else
{
result . Success = false ;
result . Message = "审核错误!" ;
}
}
result = new DBResult ( ) ;
if ( _count > 0 )
{
result . Success = true ;
result . Message = "撤回成功" ;
}
else {
result . Success = false ;
result . Message = "撤回失败" ;
}
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "撤回失败,请重试或联系系统管理员" ;
//return result;
}
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult Audit ( String USERID , String bill )
{
var result = new DBResult ( ) ;
var WorkFlowName = "TMSRPT_MONTHAudit" ;
var billList = bill . Split ( ',' ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
foreach ( var billno in billList )
{
Resultmb WorkResult = WorkFlowDAL . InsertWorkFlowDo ( WorkFlowName , billno , USERID , billno ) ;
if ( WorkResult . Success = = true )
{
var cmdupdate = db . GetSqlStringCommand ( "update TMSRPT_MONTH set BLSTATUS=2 where GID=@GID and BLSTATUS=1 " ) ;
cmdupdate . Parameters . Clear ( ) ;
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db . AddInParameter ( cmdupdate , "@GID" , DbType . String , billno ) ;
db . ExecuteNonQuery ( cmdupdate , tran ) ;
}
else
{
result . Success = false ;
result . Message = "审核错误!" ;
}
}
result = new DBResult ( ) ;
result . Success = true ;
result . Message = "审核成功" ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "审核错误,请重试或联系系统管理员" ;
}
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult AuditBack ( String USERID , String bill )
{
var result = new DBResult ( ) ;
var WorkFlowName = "TMSRPT_MONTHAudit" ;
var billList = bill . Split ( ',' ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
var tran = conn . BeginTransaction ( ) ;
try
{
foreach ( var billno in billList )
{
Resultmb WorkResult = WorkFlowDAL . DeleteWorkFlowDo ( WorkFlowName , billno , USERID , "" ) ;
if ( WorkResult . Success = = true )
{
var cmdupdate = db . GetSqlStringCommand ( "update TMSRPT_MONTH set BLSTATUS=4 where GID=@GID and BLSTATUS in(1,2) " ) ;
cmdupdate . Parameters . Clear ( ) ;
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db . AddInParameter ( cmdupdate , "@GID" , DbType . String , billno ) ;
db . ExecuteNonQuery ( cmdupdate , tran ) ;
}
else
{
result . Success = false ;
result . Message = "审核错误!" ;
}
}
result = new DBResult ( ) ;
result . Success = true ;
result . Message = "审核成功" ;
tran . Commit ( ) ;
}
catch ( Exception )
{
tran . Rollback ( ) ;
result . Success = false ;
result . Message = "审核错误,请重试或联系系统管理员" ;
}
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
# endregion
[HttpPost]
public ContentResult File ( )
{
var jsonRespose = new JsonResponse { Success = false , Message = "" } ;
if ( Request . Files . Count ! = 1 )
{
jsonRespose . Success = false ;
jsonRespose . Message = "请选择上传的文件" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
var file = Request . Files [ "file" ] ;
var TMSRPT_GID = Request . Form [ "GID" ] . ToString ( ) . Trim ( ) ;
//var AIRLINES = Request.Form["AIRLINES"].ToString().Trim();
if ( file = = null )
{
jsonRespose . Success = false ;
jsonRespose . Message = "上传文件发生未知错误,请重新上传" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
if ( Convert . ToString ( Session [ "COMPANYID" ] ) . ToString ( ) . Trim ( ) = = "" | | Convert . ToString ( Session [ "USERID" ] ) . ToString ( ) . Trim ( ) = = "" | | Convert . ToString ( Session [ "CODENAME" ] ) . ToString ( ) . Trim ( ) = = "" | | Convert . ToString ( Session [ "SHOWNAME" ] ) . ToString ( ) . Trim ( ) = = "" | | Convert . ToString ( Session [ "DEPTNAME" ] ) . ToString ( ) . Trim ( ) = = "" )
{
var jsonRespose2 = new JsonResponse { Success = false , Message = "登录超时,请退出系统重新登录!" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose2 ) } ;
}
string ext = Path . GetExtension ( file . FileName ) . ToLower ( ) ;
if ( ext = = ".asp" | | ext = = ".aspx" )
{
jsonRespose . Success = false ;
jsonRespose . Message = "不允许上传ASP或ASPX文件" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
var path = Server . MapPath ( "../../UploadFiles/CtnTkDetail" ) ;
if ( ! Directory . Exists ( path ) )
{
Directory . CreateDirectory ( path ) ;
}
var size = file . ContentLength ;
var name = Path . GetFileName ( file . FileName ) ;
//var bsno = Request.Form["bsno"];
var usercode = CookieConfig . GetCookie_UserCode ( Request ) ;
string filename = path + "\\" + usercode + DateTime . Now . ToString ( "yyyyMMddHHmmssfff" ) + name ;
if ( System . IO . File . Exists ( filename ) )
{
System . IO . File . Delete ( filename ) ;
}
file . SaveAs ( filename ) ;
if ( ! System . IO . File . Exists ( filename ) )
{
jsonRespose . Success = false ;
jsonRespose . Message = "上传的Excel不包含数据01" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
List < string > sheets = ExcelSheetName ( filename ) ;
if ( sheets . Count = = 0 )
{
jsonRespose . Success = false ;
jsonRespose . Message = "上传的Excel不包含数据02" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
try
{
var sheetname = sheets [ 0 ] ;
string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename +
";Extended Properties=Excel 8.0;" ;
if ( filename . ToLower ( ) . IndexOf ( ".xlsx" ) > 0 )
{
excelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename +
";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\"" ;
}
OleDbDataAdapter oada = new OleDbDataAdapter ( "select * from [" + sheetname + "A1:AA]" , excelConn ) ;
DataSet ds = new DataSet ( ) ;
oada . Fill ( ds ) ;
if ( ds . Tables . Count = = 0 )
{
jsonRespose . Success = false ;
jsonRespose . Message = "上传的Excel不包含数据03" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
var table = ds . Tables [ 0 ] ;
if ( table . Rows . Count = = 0 )
{
jsonRespose . Success = false ;
jsonRespose . Message = "上传的Excel不包含数据04" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
var message = string . Empty ;
List < TMSRPT_MONTH_TRUCKDETAIL > headList ;
//if (customerFieldName == "委托单位")
//{
var InsertCount = 0 ;
var UpdateCount = 0 ;
var UnKnowenTruckNo = "" ;
var isSucess = TMSRPTDAL . ImportExcelData ( Request , table , out message , out InsertCount , out UpdateCount , TMSRPT_GID , out UnKnowenTruckNo , out headList ) ;
if ( ! isSucess )
{
jsonRespose . Success = false ;
jsonRespose . Message = message ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
var json = JsonConvert . Serialize ( new
{
success = true ,
Message = "上传成功,共处理" + Convert . ToString ( headList . Count ) + "条记录,其中更新" + Convert . ToString ( UpdateCount ) + "个。" + UnKnowenTruckNo ,
data = headList . ToList ( )
} ) ;
return new ContentResult ( ) { Content = json } ;
}
catch ( Exception )
{
jsonRespose . Success = false ;
jsonRespose . Message = "读取Excel文件出错, 请确认文件正确性" ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
}
public List < string > ExcelSheetName ( string filepath )
{
var al = new List < string > ( ) ;
try
{
string strConn ;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;" ;
if ( filepath . ToLower ( ) . IndexOf ( ".xlsx" ) > 0 )
{
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath +
";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\"" ;
}
OleDbConnection conn = new OleDbConnection ( strConn ) ;
conn . Open ( ) ;
System . Data . DataTable sheetNames = conn . GetOleDbSchemaTable
( System . Data . OleDb . OleDbSchemaGuid . Tables , new object [ ] { null , null , null , "TABLE" } ) ;
conn . Close ( ) ;
foreach ( DataRow dr in sheetNames . Rows )
{
al . Add ( dr [ 2 ] . ToString ( ) ) ;
}
}
catch ( Exception )
{
return new List < string > ( ) ;
}
return al ;
}
}
}