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.
2478 lines
122 KiB
C#
2478 lines
122 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using DSWeb.MvcShipping.Models.MsOpRailway;
|
|
using DSWeb.MvcShipping.Models.MsOpRailwayBill;
|
|
using DSWeb.MvcShipping.Models.RailWayPort;
|
|
using DSWeb.MvcShipping.Models.MsOpSeae;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using DSWeb.EntityDA;
|
|
using DSWeb.Areas.CommMng.Models;
|
|
using HcUtility.Comm;
|
|
using System.Data.SqlClient;
|
|
using DSWeb.DataAccess;
|
|
using System.Web;
|
|
using System.Data.Common;
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
using DSWeb.MvcShipping.Models.MsOpCtnr;
|
|
using HcUtility.Core;
|
|
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
|
|
|
|
namespace DSWeb.MvcShipping.DAL.MsOpRailwayDAL
|
|
{
|
|
public class MsOpRailwayDAL
|
|
{
|
|
#region Inquery DataList
|
|
static public List<MsOpRailway> GetDataList(string strCondition, string userid, string usercode, string companyid, string sort = null)
|
|
{
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
//
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT B.BSNO,MASTERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,ORDERNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,TRANSTYPE");
|
|
strSql.Append(",TRANSDIRECT,TRAINNO,BSSOURCE,BSSOURCEDETAIL,PLACETRANSITENAME,ISVOU,VOUNO,REMARK,INVNO");
|
|
strSql.Append(",CARRIER,PlACERECEIPT,PLACELOADID,PLACELOAD,PLACELOADENAME,DESTINATIONID,DESTINATION,DESTINATIONDETAIL,DESTINATIONENAME,PLACETRANSITID,PLACETRANSIT,SETOUTDATE,ASETOUTDATE");
|
|
strSql.Append(",TRAINREPORTDATE,TRAINDAY,STATIONTIME,ETA,PREVESSEL,PREVOY,VESSELDAY,REPLACEDOCDATE,CUSTOMDATE,CUSTOMCLEARDATE,CUSTOMTRANSITCORP,SHENCODE,CODESTATUS,SHENCODETIME,GIVECODETIME");
|
|
strSql.Append(",ARRIVEPLACETRANSIT,SETOUTPLACETRANSIT,TRANSITDAY,RETRAINNO,RETRAINDATE,FRPLACETRANSITID,FRPLACETRANSIT,ARRIVEFRPLACETRANSIT,RECTNTYPE,RECTNDATE");
|
|
strSql.Append(",ARRIVALDATE,ONROADDATE,ONROADPLACE,RETURNCTNCORP,RETURNDATE,RECEIVECTNDATE,RECEIVEYARD,CTNSOURCE,CTNALL,CTNNUM,CNTRNO,SEALNO,FRSEALNO,CTNWEIGHT,TRAINWEIGHT");
|
|
strSql.Append(",PKGS,KINDPKGS,KGS,CBM,GOODSNAME,INPUTBY,OP,CUSTSERVICE,LANE,SALE,DOC,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE,OPERATORCODE");
|
|
strSql.Append(",OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX");
|
|
strSql.Append(", BSSTATUSREF ");
|
|
strSql.Append(",FEESTATUSREF,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,TEU,SALECORPID ");
|
|
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS");
|
|
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR");
|
|
strSql.Append(",OPSTATUS,(select TOP 1 COLOR FROM code_op_status_detail WHERE OPSTATUS = (CASE WHEN (SELECT TOP 1 [STATUS] FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) is null THEN '接受委托' else (SELECT TOP 1[STATUS] FROM OP_STATUS WHERE BSNO = B.BSNO ORDER BY COMPTIME DESC, INPUTTIME DESC) end))AS COLOR ");
|
|
strSql.Append(" FROM V_OP_RAILWAY B ");
|
|
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=B.BSNO) ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by CUSTNO desc");
|
|
}
|
|
return SetData(strSql);
|
|
}
|
|
|
|
static public string GetDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null)
|
|
{
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
//
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT * ");
|
|
strSql.Append(",CASE WHEN ISNULL(TTLINVCR,0)=0 THEN '未开票' WHEN ISNULL(TTLINVCR,0)=ISNULL(TTLCR,0) THEN '已开票' WHEN ISNULL(TTLINVCR,0)!=ISNULL(TTLCR,0) THEN '部分开票' END CRINVSTATUS ");
|
|
strSql.Append(",CASE WHEN ISNULL(TTLINVDR,0)=0 THEN '未开票' WHEN ISNULL(TTLINVDR,0)=ISNULL(TTLDR,0) THEN '已开票' WHEN ISNULL(TTLINVDR,0)!=ISNULL(TTLDR,0) THEN '部分开票' END DRINVSTATUS ");
|
|
strSql.Append(",CASE WHEN ISNULL(TTLDUIDR,0)=0 THEN '未对账' WHEN ISNULL(TTLDUIDR,0)=ISNULL(TTLDR,0) THEN '已对账' WHEN ISNULL(TTLDUIDR,0)!=ISNULL(TTLDR,0) THEN '部分对账' END DRDUISTATUS ");
|
|
strSql.Append(" from (");
|
|
strSql.Append("SELECT B.BSNO,MASTERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,ORDERNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,TRANSTYPE");
|
|
strSql.Append(",TRANSDIRECT,TRAINNO,BSSOURCE,BSSOURCEDETAIL,PLACETRANSITENAME,ISVOU,VOUNO,REMARK,INVNO");
|
|
strSql.Append(",CARRIER,PlACERECEIPT,PLACELOADID,PLACELOAD,PLACELOADENAME,DESTINATIONID,DESTINATION,DESTINATIONDETAIL,DESTINATIONENAME,PLACETRANSITID,PLACETRANSIT,SETOUTDATE,ASETOUTDATE");
|
|
strSql.Append(",TRAINREPORTDATE,TRAINDAY,STATIONTIME,ETA,PREVESSEL,PREVOY,VESSELDAY,REPLACEDOCDATE,CUSTOMDATE,CUSTOMCLEARDATE,CUSTOMTRANSITCORP,SHENCODE,CODESTATUS,SHENCODETIME,GIVECODETIME");
|
|
strSql.Append(",ARRIVEPLACETRANSIT,SETOUTPLACETRANSIT,TRANSITDAY,RETRAINNO,RETRAINDATE,FRPLACETRANSITID,FRPLACETRANSIT,ARRIVEFRPLACETRANSIT,RECTNTYPE,RECTNDATE");
|
|
strSql.Append(",ARRIVALDATE,ONROADDATE,ONROADPLACE,RETURNCTNCORP,RETURNDATE,RECEIVECTNDATE,RECEIVEYARD,CTNSOURCE,CTNALL,CTNNUM,CNTRNO,SEALNO,FRSEALNO,CTNWEIGHT,TRAINWEIGHT");
|
|
strSql.Append(",PKGS,KINDPKGS,KGS,CBM,GOODSNAME,INPUTBY,OP,CUSTSERVICE,LANE,SALE,DOC,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE,OPERATORCODE");
|
|
strSql.Append(",OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX");
|
|
strSql.Append(",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
|
|
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,SALECORPID ");
|
|
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS");
|
|
strSql.Append(",I.TTLDR,I.TTLINVDR,I.TTLDUIDR,I.TTLCR,I.TTLINVCR,I.TTLDUICR");
|
|
strSql.Append(",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,TEU ");
|
|
strSql.Append(" FROM OP_RAILWAY B ");
|
|
strSql.Append(" LEFT JOIN v_op_gain_dr_INV I ON (I.BSNO=B.BSNO) ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(" ) as T ");
|
|
//var sortstring = DatasetSort.Getsortstring(sort);
|
|
//if (!string.IsNullOrEmpty(sortstring))
|
|
//{
|
|
// strSql.Append(" order by " + sortstring);
|
|
//}
|
|
//else
|
|
//{
|
|
strSql.Append(" order by BSDATE desc");
|
|
//}
|
|
return strSql.ToString();
|
|
}
|
|
|
|
static public MsOpRailway GetData(string condition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT BSNO,MASTERNO,BSSTATUS,FEESTATUS,BSDATE,ACCDATE,MBLNO,HBLNO,ORDERNO,CUSTNO,TRANSNO,CUSTOMERNAME,BLTYPE,TRANSTYPE");
|
|
strSql.Append(",TRANSDIRECT,TRAINNO,BSSOURCE,BSSOURCEDETAIL,PLACETRANSITENAME,ISVOU,VOUNO,REMARK,INVNO");
|
|
strSql.Append(",CARRIER,PlACERECEIPT,PLACELOADID,PLACELOAD,PLACELOADENAME,DESTINATIONID,DESTINATION,DESTINATIONDETAIL,DESTINATIONENAME,PLACETRANSITID,PLACETRANSIT,SETOUTDATE,ASETOUTDATE");
|
|
strSql.Append(",TRAINREPORTDATE,TRAINDAY,STATIONTIME,ETA,PREVESSEL,PREVOY,VESSELDAY,REPLACEDOCDATE,CUSTOMDATE,CUSTOMCLEARDATE,CUSTOMTRANSITCORP,SHENCODE,CODESTATUS,SHENCODETIME,GIVECODETIME");
|
|
strSql.Append(",ARRIVEPLACETRANSIT,SETOUTPLACETRANSIT,TRANSITDAY,RETRAINNO,RETRAINDATE,FRPLACETRANSITID,FRPLACETRANSIT,ARRIVEFRPLACETRANSIT,RECTNTYPE,RECTNDATE");
|
|
strSql.Append(",ARRIVALDATE,ONROADDATE,ONROADPLACE,RETURNCTNCORP,RETURNDATE,RECEIVECTNDATE,RECEIVEYARD,CTNSOURCE,CTNALL,CTNNUM,CNTRNO,SEALNO,FRSEALNO,CTNWEIGHT,TRAINWEIGHT");
|
|
strSql.Append(",PKGS,KINDPKGS,KGS,CBM,GOODSNAME,INPUTBY,OP,CUSTSERVICE,SALE,DOC,CORPID,SALEDEPT,CREATETIME,STLNAME,STLDATE,ORDERTYPE,OPERATORCODE");
|
|
strSql.Append(",OPERATOR,OPERATOREMAIL,OPERATORTEL,OPERATORFAX,FINANCIALSTAFFCODE,FINANCIALSTAFF,FINANCIALSTAFFEMAIL,FINANCIALSTAFFTEL,FINANCIALSTAFFFAX");
|
|
strSql.Append(",(CASE BSSTATUS WHEN 1 THEN '锁定' else '未锁定' end) as BSSTATUSREF ");
|
|
strSql.Append(",(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF,SALECORPID ");
|
|
strSql.Append(",(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(B.BSNO) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(B.BSNO) CRFEESTATUS");
|
|
strSql.Append(",(SELECT TOP 1 STATUS FROM OP_STATUS WHERE BSNO=B.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS,CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR,TEU ");
|
|
strSql.Append(",0 TTLDR,0 TTLINVDR,0 TTLDUIDR");
|
|
strSql.Append(" FROM OP_RAILWAY B ");
|
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition);
|
|
}
|
|
|
|
strSql.Append(" order by BSDATE desc");
|
|
|
|
var list=SetData(strSql);
|
|
if (list.Count > 0)
|
|
{
|
|
return list[0];
|
|
}
|
|
return new MsOpRailway();
|
|
}
|
|
|
|
private static List<MsOpRailway> SetData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<MsOpRailway>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsOpRailway data = new MsOpRailway();
|
|
#region Set DB data to Object
|
|
reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'COLOR'";
|
|
if (reader.GetSchemaTable().DefaultView.Count > 0)
|
|
data.COLOR = Convert.ToString(reader["COLOR"]);
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
data.BSSTATUS = Convert.ToBoolean(reader["BSSTATUS"]);
|
|
data.FEESTATUS = Convert.ToBoolean(reader["FEESTATUS"]);
|
|
data.BSSTATUSREF = Convert.ToString(reader["BSSTATUSREF"]);
|
|
data.FEESTATUSREF = Convert.ToString(reader["FEESTATUSREF"]);
|
|
data.DRFEESTATUS = getfeestatus(Convert.ToString(reader["DRFEESTATUS"]));
|
|
data.CRFEESTATUS = getfeestatus(Convert.ToString(reader["CRFEESTATUS"]));
|
|
data.OPSTATUS = Convert.ToString(reader["OPSTATUS"]);
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);
|
|
data.MBLNO = Convert.ToString(reader["MBLNO"]);
|
|
data.HBLNO = Convert.ToString(reader["HBLNO"]);
|
|
data.ORDERNO = Convert.ToString(reader["ORDERNO"]);
|
|
data.TRANSNO = Convert.ToString(reader["TRANSNO"]);
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
if (reader["BSDATE"] != DBNull.Value)
|
|
data.BSDATE = Convert.ToDateTime(reader["BSDATE"]).ToString("yyyy-MM-dd");
|
|
data.ACCDATE = Convert.ToString(reader["ACCDATE"]);
|
|
data.BSSOURCE = Convert.ToString(reader["BSSOURCE"]);
|
|
data.BSSOURCEDETAIL = Convert.ToString(reader["BSSOURCEDETAIL"]);
|
|
data.OP = Convert.ToString(reader["OP"]);
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);
|
|
data.CUSTSERVICE = Convert.ToString(reader["CUSTSERVICE"]);
|
|
data.SALE = Convert.ToString(reader["SALE"]);
|
|
data.CORPID = Convert.ToString(reader["CORPID"]);
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);
|
|
data.TRANSTYPE = Convert.ToString(reader["TRANSTYPE"]);
|
|
data.TRANSDIRECT = Convert.ToString(reader["TRANSDIRECT"]);
|
|
data.TRAINNO = Convert.ToString(reader["TRAINNO"]);
|
|
data.CARRIER = Convert.ToString(reader["CARRIER"]);
|
|
data.PlACERECEIPT = Convert.ToString(reader["PlACERECEIPT"]);
|
|
data.PLACELOADID = Convert.ToString(reader["PLACELOADID"]);
|
|
data.PLACELOAD = Convert.ToString(reader["PLACELOAD"]);
|
|
data.PLACELOADENAME = Convert.ToString(reader["PLACELOADENAME"]);
|
|
data.DESTINATIONID = Convert.ToString(reader["DESTINATIONID"]);
|
|
data.DESTINATION = Convert.ToString(reader["DESTINATION"]);
|
|
data.DESTINATIONDETAIL = Convert.ToString(reader["DESTINATIONDETAIL"]);
|
|
data.DESTINATIONENAME = Convert.ToString(reader["DESTINATIONENAME"]);
|
|
data.PLACETRANSITID = Convert.ToString(reader["PLACETRANSITID"]);
|
|
data.PLACETRANSIT = Convert.ToString(reader["PLACETRANSIT"]);
|
|
data.PLACETRANSITENAME = Convert.ToString(reader["PLACETRANSITENAME"]);
|
|
if (reader["SETOUTDATE"] != DBNull.Value)
|
|
data.SETOUTDATE = Convert.ToDateTime(reader["SETOUTDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["ASETOUTDATE"] != DBNull.Value)
|
|
data.ASETOUTDATE = Convert.ToDateTime(reader["ASETOUTDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["TRAINREPORTDATE"] != DBNull.Value)
|
|
data.TRAINREPORTDATE = Convert.ToDateTime(reader["TRAINREPORTDATE"]).ToString("yyyy-MM-dd");
|
|
|
|
if (reader["TRAINDAY"] != DBNull.Value)
|
|
data.TRAINDAY = Convert.ToInt16(reader["TRAINDAY"]);
|
|
if (reader["STATIONTIME"] != DBNull.Value)
|
|
data.STATIONTIME = Convert.ToDateTime(reader["STATIONTIME"]).ToString("yyyy-MM-dd");
|
|
if (reader["ETA"] != DBNull.Value)
|
|
data.ETA = Convert.ToDateTime(reader["ETA"]).ToString("yyyy-MM-dd");
|
|
|
|
data.PREVESSEL = Convert.ToString(reader["PREVESSEL"]);
|
|
data.PREVOY = Convert.ToString(reader["PREVOY"]);
|
|
if (reader["VESSELDAY"] != DBNull.Value)
|
|
data.VESSELDAY = Convert.ToInt16(reader["VESSELDAY"]);
|
|
if (reader["REPLACEDOCDATE"] != DBNull.Value)
|
|
data.REPLACEDOCDATE = Convert.ToDateTime(reader["REPLACEDOCDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["CUSTOMDATE"] != DBNull.Value)
|
|
data.CUSTOMDATE = Convert.ToDateTime(reader["CUSTOMDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["CUSTOMCLEARDATE"] != DBNull.Value)
|
|
data.CUSTOMCLEARDATE = Convert.ToDateTime(reader["CUSTOMCLEARDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["SHENCODETIME"] != DBNull.Value)
|
|
data.SHENCODETIME = Convert.ToDateTime(reader["SHENCODETIME"]).ToString("yyyy-MM-dd");
|
|
data.CUSTOMTRANSITCORP = Convert.ToString(reader["CUSTOMTRANSITCORP"]);
|
|
data.SHENCODE = Convert.ToString(reader["SHENCODE"]);
|
|
data.CODESTATUS = Convert.ToString(reader["CODESTATUS"]);
|
|
if (reader["GIVECODETIME"] != DBNull.Value)
|
|
data.GIVECODETIME = Convert.ToDateTime(reader["GIVECODETIME"]).ToString("yyyy-MM-dd");
|
|
if (reader["ARRIVEPLACETRANSIT"] != DBNull.Value)
|
|
data.ARRIVEPLACETRANSIT = Convert.ToDateTime(reader["ARRIVEPLACETRANSIT"]).ToString("yyyy-MM-dd");
|
|
if (reader["SETOUTPLACETRANSIT"] != DBNull.Value)
|
|
data.SETOUTPLACETRANSIT = Convert.ToDateTime(reader["SETOUTPLACETRANSIT"]).ToString("yyyy-MM-dd");
|
|
if (reader["TRANSITDAY"] != DBNull.Value)
|
|
data.TRANSITDAY = Convert.ToInt16(reader["TRANSITDAY"]);
|
|
data.RETRAINNO = Convert.ToString(reader["RETRAINNO"]);
|
|
data.FRPLACETRANSITID = Convert.ToString(reader["FRPLACETRANSITID"]);
|
|
data.FRPLACETRANSIT = Convert.ToString(reader["FRPLACETRANSIT"]);
|
|
if (reader["ARRIVEFRPLACETRANSIT"] != DBNull.Value)
|
|
data.ARRIVEFRPLACETRANSIT = Convert.ToDateTime(reader["ARRIVEFRPLACETRANSIT"]).ToString("yyyy-MM-dd");
|
|
if (reader["ARRIVALDATE"] != DBNull.Value)
|
|
data.ARRIVALDATE = Convert.ToDateTime(reader["ARRIVALDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["RECTNDATE"] != DBNull.Value)
|
|
data.RECTNDATE = Convert.ToDateTime(reader["RECTNDATE"]).ToString("yyyy-MM-dd");
|
|
data.RECTNTYPE = Convert.ToString(reader["RECTNTYPE"]);
|
|
if (reader["ONROADDATE"] != DBNull.Value)
|
|
data.ONROADDATE = Convert.ToDateTime(reader["ONROADDATE"]).ToString("yyyy-MM-dd");
|
|
data.ONROADPLACE = Convert.ToString(reader["ONROADPLACE"]);
|
|
data.RETURNCTNCORP = Convert.ToString(reader["RETURNCTNCORP"]);
|
|
if (reader["RETURNDATE"] != DBNull.Value)
|
|
data.RETURNDATE = Convert.ToDateTime(reader["RETURNDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["RECEIVECTNDATE"] != DBNull.Value)
|
|
data.RECEIVECTNDATE = Convert.ToDateTime(reader["RECEIVECTNDATE"]).ToString("yyyy-MM-dd");
|
|
data.RECEIVEYARD = Convert.ToString(reader["RECEIVEYARD"]);
|
|
data.CTNSOURCE = Convert.ToString(reader["CTNSOURCE"]);
|
|
data.CTNALL = Convert.ToString(reader["CTNALL"]);
|
|
if (reader["CTNNUM"] != DBNull.Value)
|
|
data.CTNNUM = Convert.ToInt16(reader["CTNNUM"]);
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);
|
|
data.SEALNO = Convert.ToString(reader["SEALNO"]);
|
|
data.FRSEALNO = Convert.ToString(reader["FRSEALNO"]);
|
|
if (reader["CTNWEIGHT"] != DBNull.Value)
|
|
data.CTNWEIGHT = Convert.ToDecimal(reader["CTNWEIGHT"]);
|
|
if (reader["TRAINWEIGHT"] != DBNull.Value)
|
|
data.TRAINWEIGHT = Convert.ToDecimal(reader["TRAINWEIGHT"]);
|
|
|
|
if (reader["PKGS"] != DBNull.Value)
|
|
data.PKGS = Convert.ToInt32(reader["PKGS"]);
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
if (reader["KGS"] != DBNull.Value)
|
|
data.KGS = Convert.ToDecimal(reader["KGS"]);
|
|
if (reader["CBM"] != DBNull.Value)
|
|
data.CBM = Convert.ToDecimal(reader["CBM"]);
|
|
data.DOC = Convert.ToString(reader["DOC"]);
|
|
data.SALEDEPT = Convert.ToString(reader["SALEDEPT"]);
|
|
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]);
|
|
data.STLNAME = Convert.ToString(reader["STLNAME"]);//结算方式
|
|
if (reader["STLDATE"] != DBNull.Value)
|
|
data.STLDATE = Convert.ToDateTime(reader["STLDATE"]).ToString("yyyy-MM-dd");//截单日期
|
|
//data.STLDATE = Convert.ToString(reader["STLDATE"]);//结算时间
|
|
data.OPERATORCODE = Convert.ToString(reader["OPERATORCODE"]);//客户操作代码
|
|
data.OPERATOR = Convert.ToString(reader["OPERATOR"]);//客户操作名称
|
|
data.OPERATOREMAIL = Convert.ToString(reader["OPERATOREMAIL"]);//操作电子邮箱
|
|
data.OPERATORTEL = Convert.ToString(reader["OPERATORTEL"]);//操作电话
|
|
data.OPERATORFAX = Convert.ToString(reader["OPERATORFAX"]);//操作传真
|
|
data.FINANCIALSTAFFCODE = Convert.ToString(reader["FINANCIALSTAFFCODE"]);//客户财务代码
|
|
data.FINANCIALSTAFF = Convert.ToString(reader["FINANCIALSTAFF"]);//客户财务名称
|
|
data.FINANCIALSTAFFEMAIL = Convert.ToString(reader["FINANCIALSTAFFEMAIL"]);//财务电子邮箱
|
|
data.FINANCIALSTAFFTEL = Convert.ToString(reader["FINANCIALSTAFFTEL"]);//财务电话
|
|
data.FINANCIALSTAFFFAX = Convert.ToString(reader["FINANCIALSTAFFFAX"]);//财务传真
|
|
data.ISVOU = Convert.ToBoolean(reader["ISVOU"]);
|
|
data.VOUNO = Convert.ToString(reader["VOUNO"]);
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
data.INVNO = Convert.ToString(reader["INVNO"]);
|
|
data.ORDERNO = Convert.ToString(reader["ORDERNO"]);
|
|
data.SALECORPID = Convert.ToString(reader["SALECORPID"]);
|
|
data.SALECORP = Convert.ToString(reader["SALECORP"]);
|
|
|
|
if (reader["RETRAINDATE"] != DBNull.Value)
|
|
data.RETRAINDATE = Convert.ToDateTime(reader["RETRAINDATE"]).ToString("yyyy-MM-dd");
|
|
// data.ISPRINTPR = Convert.ToString(reader["ISPRINTPR"]);
|
|
if (reader["CNTR1"] != DBNull.Value)
|
|
data.CNTR1 = Convert.ToInt32(reader["CNTR1"]);//箱型1
|
|
if (reader["CNTR2"] != DBNull.Value)
|
|
data.CNTR2 = Convert.ToInt32(reader["CNTR2"]);//箱型2
|
|
if (reader["CNTR3"] != DBNull.Value)
|
|
data.CNTR3 = Convert.ToInt32(reader["CNTR3"]);//箱型3
|
|
if (reader["CNTR4"] != DBNull.Value)
|
|
data.CNTR4 = Convert.ToInt32(reader["CNTR4"]);//箱型4
|
|
if (reader["CNTR5"] != DBNull.Value)
|
|
data.CNTR5 = Convert.ToInt32(reader["CNTR5"]);//箱型5
|
|
if (reader["CNTR6"] != DBNull.Value)
|
|
data.CNTR6 = Convert.ToInt32(reader["CNTR6"]);//箱型6
|
|
if (reader["CNTR7"] != DBNull.Value)
|
|
data.CNTR7 = Convert.ToInt32(reader["CNTR7"]);//箱型7
|
|
if (reader["CNTR8"] != DBNull.Value)
|
|
data.CNTR8 = Convert.ToInt32(reader["CNTR8"]);//箱型8
|
|
if (reader["CNTR9"] != DBNull.Value)
|
|
data.CNTR9 = Convert.ToInt32(reader["CNTR9"]);//箱型9
|
|
if (reader["CNTR10"] != DBNull.Value)
|
|
data.CNTR10 = Convert.ToInt32(reader["CNTR10"]);//箱型10
|
|
if (reader["OTCNTR"] != DBNull.Value)
|
|
data.OTCNTR = Convert.ToInt32(reader["OTCNTR"]);//其他箱型
|
|
if (reader["TEU"] != DBNull.Value)
|
|
data.TEU = Convert.ToInt32(reader["TEU"]);//箱TEU
|
|
decimal ttldr = 0;
|
|
if (reader["TTLDR"] != DBNull.Value)
|
|
ttldr = Convert.ToDecimal(reader["TTLDR"]);
|
|
decimal ttlinvdr = 0;
|
|
if (reader["TTLDR"] != DBNull.Value)
|
|
ttlinvdr = Convert.ToDecimal(reader["TTLINVDR"]);
|
|
if (ttlinvdr == 0) data.DRINVSTATUS = "未开票";
|
|
else if (ttlinvdr == ttldr) data.DRINVSTATUS = "已开票";
|
|
else if (ttlinvdr != ttldr) data.DRINVSTATUS = "部分开票";
|
|
decimal ttlduidr = 0;
|
|
if (reader["TTLDUIDR"] != DBNull.Value)
|
|
ttlduidr = Convert.ToDecimal(reader["TTLDUIDR"]);
|
|
if (ttlduidr == 0) data.DRDUISTATUS = "未对账";
|
|
else if (ttlduidr == ttldr) data.DRDUISTATUS = "已对账";
|
|
else if (ttlduidr != ttldr) data.DRDUISTATUS = "部分对账";
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
public static string getfeestatus(string feestatusint)
|
|
{
|
|
var result = "";
|
|
if (feestatusint == "0:")
|
|
{
|
|
return "审核通过";
|
|
}
|
|
else if (feestatusint == "1:")
|
|
{
|
|
return "录入状态";
|
|
}
|
|
else if (feestatusint == "2:")
|
|
{
|
|
return "提交审核";
|
|
}
|
|
else if (feestatusint == "8:")
|
|
{
|
|
return "部分结算";
|
|
}
|
|
else if (feestatusint == "9:")
|
|
{
|
|
return "结算完毕";
|
|
}
|
|
else if (feestatusint == "")
|
|
{
|
|
return "未录入";
|
|
}
|
|
else if (feestatusint == "3:")
|
|
{
|
|
return "申请修改";
|
|
}
|
|
else if (feestatusint == "4:")
|
|
{
|
|
return "申请删除";
|
|
}
|
|
else if (feestatusint == "6:")
|
|
{
|
|
return "驳回提交";
|
|
}
|
|
else if (feestatusint == "7:")
|
|
{
|
|
return "驳回申请";
|
|
}
|
|
else if (feestatusint.IndexOf("9:") > -1)
|
|
{
|
|
return "部分结算";
|
|
}
|
|
else if (feestatusint.IndexOf("8:") > -1)
|
|
{
|
|
return "部分结算";
|
|
}
|
|
else if (feestatusint.IndexOf("0:") > -1)
|
|
{
|
|
return "部分审核";
|
|
}
|
|
else if (feestatusint.IndexOf("2:") > -1)
|
|
{
|
|
return "部分提交";
|
|
}
|
|
else if (feestatusint.IndexOf("6:") > -1)
|
|
{
|
|
return "驳回提交";
|
|
}
|
|
else if (feestatusint.IndexOf("7:") > -1)
|
|
{
|
|
return "驳回申请";
|
|
}
|
|
|
|
return result;
|
|
}
|
|
#endregion
|
|
|
|
#region 明细表
|
|
|
|
static public List<MsOpRailwayTracking> GetBodyTrackingList(string strCondition,bool isfirst)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
if (!isfirst)
|
|
{
|
|
strSql.Append("SELECT TK_ID,BSNO,isnull(SORTNO,1) as SORTNO,TRAINNO,FRTRAINNO,INPUTBY,INPUTDATE,TRACKDATE,");
|
|
strSql.Append("CNTRNO,SEALNO,EFCNTR,ACTIVITY,LOCATION,LOCATIONID,DISTANCE,DISTANCEDEST,[REMARK] from op_railway_tracking");
|
|
if (strCondition.Trim() != String.Empty)
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(" order by BSNO,SORTNO");
|
|
}
|
|
else {
|
|
strSql.Append("SELECT TK_ID,BSNO,SORTNO,TRAINNO,FRTRAINNO,INPUTBY,INPUTDATE,TRACKDATE,");
|
|
strSql.Append("CNTRNO,SEALNO,EFCNTR,ACTIVITY,LOCATION,LOCATIONID,DISTANCE,DISTANCEDEST,[REMARK] from (");
|
|
strSql.Append("SELECT TK_ID,BSNO,SORTNO,TRAINNO,FRTRAINNO,INPUTBY,INPUTDATE,TRACKDATE,");
|
|
strSql.Append("CNTRNO,SEALNO,EFCNTR,ACTIVITY,LOCATION,LOCATIONID,DISTANCE,DISTANCEDEST,[REMARK] ");
|
|
strSql.Append(",row_number() over (partition by CNTRNO order by SORTNO desc) as rowno from op_railway_tracking");
|
|
if (strCondition.Trim() != String.Empty)
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(" ) x where x.rowno=1");
|
|
|
|
}
|
|
return SetBodyTrackingData(strSql);
|
|
}
|
|
|
|
private static List<MsOpRailwayTracking> SetBodyTrackingData(StringBuilder strSql)
|
|
{
|
|
var bodyList = new List<MsOpRailwayTracking>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsOpRailwayTracking data = new MsOpRailwayTracking();
|
|
#region Set DB data to Object
|
|
data.TK_ID = Convert.ToString(reader["TK_ID"]);//编号
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
data.SORTNO = Convert.ToString(reader["SORTNO"]);//
|
|
data.TRAINNO = Convert.ToString(reader["TRAINNO"]);//
|
|
data.FRTRAINNO = Convert.ToString(reader["FRTRAINNO"]);//
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);//
|
|
data.INPUTDATE = Convert.ToString(reader["INPUTDATE"]);//
|
|
if (reader["TRACKDATE"] != DBNull.Value)
|
|
data.TRACKDATE = Convert.ToDateTime(reader["TRACKDATE"]).ToString("yyyy-MM-dd"); //
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//
|
|
data.SEALNO = Convert.ToString(reader["SEALNO"]);//
|
|
data.EFCNTR = Convert.ToString(reader["EFCNTR"]);//
|
|
data.ACTIVITY = Convert.ToString(reader["ACTIVITY"]);//
|
|
data.LOCATION = Convert.ToString(reader["LOCATION"]);//
|
|
data.LOCATIONID = Convert.ToString(reader["LOCATIONID"]);//
|
|
if (reader["DISTANCE"] != DBNull.Value)
|
|
data.DISTANCE = Convert.ToDecimal(reader["DISTANCE"]);
|
|
if (reader["DISTANCEDEST"] != DBNull.Value)
|
|
data.DISTANCEDEST = Convert.ToDecimal(reader["DISTANCEDEST"]);
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
|
|
|
|
|
|
#endregion
|
|
bodyList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return bodyList;
|
|
}
|
|
|
|
public static DBResult SaveCtnDetail(string bsno, List<MsOpSeaeDetail> bodyList, string userid)
|
|
{
|
|
var result = new DBResult();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
int TEUALL = 0;
|
|
List<CNTRSUM> cntrsumlist = new List<CNTRSUM>();
|
|
if (bodyList != null)
|
|
{
|
|
var cmddelete = db.GetSqlStringCommand(@"delete from op_ctn where BSNO='" + bsno + "'");
|
|
db.ExecuteNonQuery(cmddelete, tran);
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
int SIZE = int.Parse(enumValue.CTNALL.ToString().Trim().Substring(0, 2));
|
|
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
|
|
int TEU = 1;
|
|
int iTEU = int.Parse(enumValue.CTNALL.ToString().Trim().Substring(0, 1));
|
|
if (iTEU == 4)
|
|
{
|
|
TEU = TEU * 2;
|
|
}
|
|
TEUALL = TEUALL + TEU;
|
|
var cmdInsert = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME) values ('" + enumValue.CTN_ID + "','" + bsno + "','" + enumValue.CTNCODE + "','',''," + enumValue.CTNNUM + ",1,'" + enumValue.CTNALL + "','" + enumValue.CNTRNO + "','" + enumValue.SEALNO + "','" + enumValue.PKGS + "'," + enumValue.KGS + "," + enumValue.CBM + ",'" + enumValue.REMARK + "','" + enumValue.KINDPKGS + "'," + enumValue.TAREWEIGHT + ",'')");
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
var isfind = false;
|
|
cntrsumlist.ForEach(i =>
|
|
{
|
|
if (i.CTNALL == enumValue.CTNALL)
|
|
{
|
|
i.CTNNUM = i.CTNNUM + 1;
|
|
isfind = true;
|
|
}
|
|
});
|
|
if (!isfind)
|
|
{
|
|
var cntrsum = new CNTRSUM();
|
|
cntrsum.CTNALL = enumValue.CTNALL;
|
|
cntrsum.CTNNUM = 1;
|
|
cntrsumlist.Add(cntrsum);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
DataSet dsDisp = T_ALL_DA.GetAllSQL("select * from code_ctn_disp");// where CORPID = '" + strCORPID + "'";
|
|
var str = "";
|
|
int otctn = 0;
|
|
foreach (var enumValue in cntrsumlist)
|
|
{
|
|
int j = 0;
|
|
for (int i = 1; i < 11; i++)
|
|
{
|
|
if (dsDisp.Tables[0].Rows[0][i].ToString().Trim().Equals(enumValue.CTNALL))
|
|
{
|
|
str = str + ",CNTR" + i + "=" + enumValue.CTNNUM;
|
|
j = j + 1;
|
|
break;
|
|
}
|
|
else {
|
|
str = str + ",CNTR" + i + "=0" ;
|
|
}
|
|
}
|
|
if (j == 0)
|
|
{
|
|
otctn = otctn + enumValue.CTNNUM;
|
|
}
|
|
}
|
|
|
|
str = "update op_railway set OP=OP " + str + ",OTCNTR=" + otctn.ToString() + ",TEU="+ TEUALL.ToString() + " WHERE BSNO='" + bsno + "'";
|
|
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(str);
|
|
//
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
return result;
|
|
}
|
|
|
|
public static DBResult SaveTrackingDetail(string bsno, List<MsOpRailwayTracking> bodyList, string user)
|
|
{
|
|
var result = new DBResult();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
|
|
if (bodyList != null)
|
|
{
|
|
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
if (enumValue.BSNO == "*" || enumValue.BSNO == "")
|
|
{
|
|
if (enumValue.INPUTDATE == "") enumValue.INPUTDATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (enumValue.TRACKDATE == "") enumValue.TRACKDATE = null;
|
|
|
|
var cmdInsert = db.GetSqlStringCommand(@"insert into op_railway_tracking (TK_ID,BSNO,SORTNO,TRAINNO,FRTRAINNO,INPUTBY,
|
|
INPUTDATE,TRACKDATE,CNTRNO,SEALNO,EFCNTR,ACTIVITY,LOCATION,LOCATIONID,DISTANCE,DISTANCEDEST,REMARK)
|
|
values (newid(),'" + bsno + "'," + enumValue.SORTNO + ",'" + enumValue.TRAINNO + "','" + enumValue.FRTRAINNO + "','" + user + "','"
|
|
+ enumValue.INPUTDATE + "','" + enumValue.TRACKDATE + "','" + enumValue.CNTRNO + "','" + enumValue.SEALNO + "','"
|
|
+ enumValue.EFCNTR + "','" + enumValue.ACTIVITY + "','" + enumValue.LOCATION + "','" + enumValue.LOCATIONID
|
|
+ "'," + enumValue.DISTANCE + "," + enumValue.DISTANCEDEST + ",'" + enumValue.REMARK + "')");
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
else {
|
|
if (enumValue.TRACKDATE == "") enumValue.TRACKDATE = null;
|
|
var cmdUpdate = db.GetSqlStringCommand(@"update op_railway_tracking set BSNO=@BSNO,SORTNO=@SORTNO,TRAINNO=@TRAINNO
|
|
,FRTRAINNO=@FRTRAINNO,INPUTBY=@INPUTBY,INPUTDATE=@INPUTDATE,TRACKDATE=@TRACKDATE,CNTRNO=@CNTRNO,SEALNO=@SEALNO,
|
|
EFCNTR=@EFCNTR,ACTIVITY=@ACTIVITY,LOCATION=@LOCATION,LOCATIONID=@LOCATIONID,DISTANCE=@DISTANCE,DISTANCEDEST=@DISTANCEDEST,REMARK=@REMARK where TK_ID=@TK_ID");
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@TK_ID", DbType.String, enumValue.TK_ID);
|
|
db.AddInParameter(cmdUpdate, "@BSNO", DbType.String, enumValue.BSNO);
|
|
db.AddInParameter(cmdUpdate, "@SORTNO", DbType.Int16, enumValue.SORTNO);
|
|
db.AddInParameter(cmdUpdate, "@TRAINNO", DbType.String, enumValue.TRAINNO);
|
|
db.AddInParameter(cmdUpdate, "@FRTRAINNO", DbType.String, enumValue.FRTRAINNO);
|
|
db.AddInParameter(cmdUpdate, "@INPUTBY", DbType.String, enumValue.INPUTBY);
|
|
db.AddInParameter(cmdUpdate, "@INPUTDATE", DbType.String, enumValue.INPUTDATE);
|
|
db.AddInParameter(cmdUpdate, "@TRACKDATE", DbType.String, enumValue.TRACKDATE);
|
|
db.AddInParameter(cmdUpdate, "@CNTRNO", DbType.String, enumValue.CNTRNO);
|
|
db.AddInParameter(cmdUpdate, "@SEALNO", DbType.String, enumValue.SEALNO);
|
|
db.AddInParameter(cmdUpdate, "@EFCNTR", DbType.String, enumValue.EFCNTR);
|
|
db.AddInParameter(cmdUpdate, "@ACTIVITY", DbType.String, enumValue.ACTIVITY);
|
|
db.AddInParameter(cmdUpdate, "@LOCATION", DbType.String, enumValue.LOCATION);
|
|
db.AddInParameter(cmdUpdate, "@LOCATIONID", DbType.String, enumValue.LOCATIONID);
|
|
db.AddInParameter(cmdUpdate, "@DISTANCE", DbType.Decimal, enumValue.DISTANCE);
|
|
db.AddInParameter(cmdUpdate, "@DISTANCEDEST", DbType.Decimal, enumValue.DISTANCEDEST);
|
|
db.AddInParameter(cmdUpdate, "@REMARK", DbType.String, enumValue.REMARK);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
//
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
return result;
|
|
}
|
|
|
|
|
|
public static DBResult DeleteTrackingDetail(MsOpRailwayTracking bodyList)
|
|
{
|
|
var result = new DBResult();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
|
|
if (bodyList != null)
|
|
{
|
|
|
|
var cmddelete = db.GetSqlStringCommand(@"delete from op_railway_tracking where TK_ID='" + bodyList.TK_ID + "'");
|
|
db.ExecuteNonQuery(cmddelete, tran);
|
|
|
|
}
|
|
//
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功" + result.Message;
|
|
return result;
|
|
}
|
|
|
|
public static DBResult DeleteDetail(string BSNO)
|
|
{
|
|
var result = new DBResult();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
var cmdDelete = db.GetSqlStringCommand("delete from op_railway_bill where BSNO='" + BSNO + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
var cmdDelete2 = db.GetSqlStringCommand("delete from op_railway_tracking where BSNO='" + BSNO + "'");
|
|
db.ExecuteNonQuery(cmdDelete2, tran);
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "保存成功";
|
|
return result;
|
|
}
|
|
#endregion
|
|
|
|
#region 生成编码
|
|
public static String getCodeRule(string strRULENAME, int strRULETYPE, string strfield, string strETD, string strACCDATE, string strUserID, string strCompanyID)
|
|
{
|
|
//调用编码规则
|
|
if (strETD.Trim().IndexOf("0001") > -1)
|
|
{
|
|
strETD = "";
|
|
}
|
|
string strRULEYEAR = "";
|
|
string strRULECONTENT = "";
|
|
string strCODENAME = "";
|
|
string strDEPTNO = "";
|
|
string strRULENOLENGTH = "";
|
|
int iRULENOLENGTH = 0;
|
|
int inum = 0;
|
|
string strCONTENT = "";
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
//
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=" + strRULETYPE);
|
|
if (ds != null)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
{
|
|
if (strETD.Trim() == "")
|
|
{
|
|
return "";
|
|
}
|
|
DateTime dETD = System.Convert.ToDateTime(strETD.Trim());
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
}
|
|
}
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("会计期间"))
|
|
{
|
|
if (strACCDATE.Trim() == "")
|
|
{
|
|
return "";
|
|
}
|
|
DateTime dACCDATE = System.Convert.ToDateTime(strACCDATE.Trim() + "-01");
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yyyy") + dACCDATE.ToString("MM");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yy") + dACCDATE.ToString("MM");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yyyy");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yy");
|
|
}
|
|
}
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
{
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
}
|
|
}
|
|
}
|
|
//
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
{
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
|
|
}
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
{
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
|
|
}
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
//
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
//获取分公司的票号头字符
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
//
|
|
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [op_railway] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");
|
|
if (strRULENOLENGTH == "")
|
|
{
|
|
strRULENOLENGTH = "1";
|
|
}
|
|
else
|
|
{
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
inum = inum + 1;
|
|
strRULENOLENGTH = inum.ToString();
|
|
}
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
for (int i = 1; i <= j; i++)
|
|
{
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
}
|
|
//
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
return strCONTENT;
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
#endregion
|
|
|
|
#region 判断编码是否有重复
|
|
static public int GetRdCount(string strCondition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" Count(BSNO) AS CT ");
|
|
strSql.Append(" from op_railway ");
|
|
if (strCondition.Trim() != String.Empty)
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
var ct=0;
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
|
|
ct = Convert.ToInt16(reader["CT"]);
|
|
|
|
}
|
|
reader.Close();
|
|
}
|
|
return ct;
|
|
}
|
|
#endregion
|
|
|
|
#region 判断是否有FEE
|
|
public static bool GetFeeCount(string BSNO)
|
|
{
|
|
var isfee = false;
|
|
String strSql = "Select count(*) as count from ch_fee where BSNO='" + BSNO + "'";
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
var evData = Convert.ToInt32(reader["count"]);
|
|
if (evData > 0) { isfee = true; };
|
|
}
|
|
reader.Close();
|
|
}
|
|
return isfee;
|
|
}
|
|
#endregion
|
|
|
|
#region 委托业务费用加锁
|
|
/// <summary>
|
|
/// 委托业务费用加锁
|
|
/// </summary>
|
|
/// <param name="tempBSNO">委托业务编号</param>
|
|
/// <returns>值等于1表示加锁成功 值不等于1表示加锁失败</returns>
|
|
public static int LockFeeStatus(string tempBSNO)
|
|
{
|
|
int iResult = 0;
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
SqlParameter[] parms = new SqlParameter[] {
|
|
new SqlParameter("@BSNO",SqlDbType.VarChar,100)
|
|
};
|
|
parms[0].Value = tempBSNO;
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, "UPDATE op_railway SET FEESTATUS = 1 WHERE BSNO = @BSNO", parms);
|
|
sqlTran.Commit();
|
|
iResult = 1;//状态为1表示更新成功
|
|
}
|
|
catch (Exception execError)
|
|
{
|
|
iResult = -1;//有异常,更新失败
|
|
sqlTran.Rollback();
|
|
iResult = -2;//更新异常,事务已回滚成功
|
|
throw execError;
|
|
}
|
|
finally
|
|
{
|
|
SqlHelper.CloseConnection();
|
|
}
|
|
}
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 委托业务费用解锁
|
|
/// <summary>
|
|
/// 委托业务费用解锁
|
|
/// </summary>
|
|
/// <param name="tempBSNO">委托业务编号</param>
|
|
/// <returns>值等于1表示解锁成功 值不等于1表示解锁失败</returns>
|
|
public static int UnLockFeeStatus(string tempBSNO)
|
|
{
|
|
int iResult = 0;
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
SqlParameter[] parms = new SqlParameter[] {
|
|
new SqlParameter("@BSNO",SqlDbType.VarChar,100)
|
|
};
|
|
parms[0].Value = tempBSNO;
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, "UPDATE op_railway SET FEESTATUS =0 WHERE BSNO = @BSNO", parms);
|
|
sqlTran.Commit();
|
|
iResult = 1;//状态为1表示更新成功
|
|
}
|
|
catch (Exception execError)
|
|
{
|
|
iResult = -1;//有异常,更新失败
|
|
sqlTran.Rollback();
|
|
iResult = -2;//更新异常,事务已回滚成功
|
|
throw execError;
|
|
}
|
|
finally
|
|
{
|
|
SqlHelper.CloseConnection();
|
|
}
|
|
}
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region Rang权限范围
|
|
public static string GetRangDAStr(string tb, string userid, string username, string companyid)
|
|
{
|
|
string str = "";
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT");
|
|
strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID,VSSQL ");
|
|
strSql.Append(" from VW_User_Authority");
|
|
strSql.Append(" where [NAME]='modOpRailwayOpwt' and USERID='" + userid + "' and ISDELETE=0");
|
|
|
|
string visiblerange = "4";
|
|
string operaterange = "4";
|
|
string AUTHORITYID = "";
|
|
string VSSQL = "";
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
|
|
operaterange = Convert.ToString(reader["OPERATERANGE"]);
|
|
AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]);
|
|
VSSQL = Convert.ToString(reader["VSSQL"]);
|
|
|
|
break;
|
|
}
|
|
reader.Close();
|
|
}
|
|
if (visiblerange == "4")
|
|
{
|
|
str = " (OP='" + username + "' OR SALE='" + username + "' OR CUSTSERVICE='" + username + "' OR DOC='" + username + "')";
|
|
}
|
|
else if (visiblerange == "3")
|
|
{
|
|
str = " (OP='" + username + "' OR SALE='" + username + "' OR CUSTSERVICE='" + username + "' OR DOC='" + username + "')";
|
|
}
|
|
else if (visiblerange == "2")
|
|
{
|
|
var rangeDa = new RangeDA();
|
|
var deptname = rangeDa.GetDEPTNAME(userid);
|
|
str = " (OP in (select showname from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "'))"
|
|
+ " )";
|
|
}
|
|
else if (visiblerange == "1")
|
|
{
|
|
str = " (OP in (select showname from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "'))"
|
|
+ " )";
|
|
}
|
|
else if (visiblerange == "5")
|
|
{
|
|
if (tb == "index")
|
|
{
|
|
var userstr = new StringBuilder();
|
|
userstr.Append(" select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
{
|
|
str = "";
|
|
while (reader.Read())
|
|
{
|
|
if (str == "")
|
|
{
|
|
str = " (B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "' ";
|
|
}
|
|
else
|
|
{
|
|
str = str + " or B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "'";
|
|
};
|
|
}
|
|
str = str + ")";
|
|
reader.Close();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
|
|
}
|
|
|
|
}
|
|
else if (visiblerange == "6")
|
|
{
|
|
if (tb == "index")
|
|
{
|
|
var opstr = "";
|
|
var userstr = new StringBuilder();
|
|
userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
{
|
|
|
|
while (reader.Read())
|
|
{
|
|
|
|
|
|
if (opstr == "")
|
|
{
|
|
opstr = " ('" + Convert.ToString(reader["SHOWNAME"]) + "'";
|
|
}
|
|
else
|
|
{
|
|
opstr = opstr + ",'" + Convert.ToString(reader["SHOWNAME"]) + "'";
|
|
};
|
|
}
|
|
|
|
if (opstr != "") opstr = opstr + ")";
|
|
reader.Close();
|
|
}
|
|
if (opstr == "") opstr = "('" + username + "')";
|
|
str = " (B.OP in " + opstr + " or B.SALE in " + opstr + " or B.CUSTSERVICE IN " + opstr + " or B.DOC IN " + opstr + ")";
|
|
|
|
}
|
|
else
|
|
{
|
|
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
|
|
}
|
|
|
|
}
|
|
else if (visiblerange == "0")
|
|
{
|
|
str = " 1=1 ";
|
|
}
|
|
return str;
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
#region 运行报单
|
|
|
|
static public List<MsOpRailwayBill> GetBillList(string strCondition, string sort = null)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append("AS_ID,BSNO,CUSTNO,INPUTBY,CREATETIME,SHIPPERID,CONSIGNEEID,SHIPPER,CONSIGNEE,PLACELOADENAME,DESTINATIONENAME,SHENCODE,SHIPPERSTATEMENT,NOBINDINGRECORD,");
|
|
strSql.Append("CUSTOMERRECORD,SHIPPERFILES,OTHERFIELD1,PLACETRANSITENAME,NOPKGS,PKGS,KGS,SEALNO,LOADER,WEIGHTMETHODS,CUSTCONTRACTNODATE,CUSTCONTRACTNO,ARRIVALDATE,DESCRIPTION,GOODSNAME,GROSSWEIGHT,TOTALNO,CNTRTOTAL,PLACERECEIPTID");
|
|
strSql.Append(",(SELECT TOP 1 TRAINNO FROM op_railway_bill_train WHERE BSNO=op_railway_bill.AS_ID ) as TRAINNO ");
|
|
strSql.Append(" from op_railway_bill ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
//
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by CREATETIME desc");
|
|
}
|
|
return SetBillData(strSql);
|
|
}
|
|
|
|
static public MsOpRailwayBill GetBillData(string condition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append("AS_ID,BSNO,CUSTNO,INPUTBY,CREATETIME,SHIPPERID,CONSIGNEEID,SHIPPER,CONSIGNEE,PLACELOADENAME,DESTINATIONENAME,SHENCODE,SHIPPERSTATEMENT,NOBINDINGRECORD,");
|
|
strSql.Append("CUSTOMERRECORD,SHIPPERFILES,OTHERFIELD1,PLACETRANSITENAME,NOPKGS,PKGS,KGS,SEALNO,LOADER,WEIGHTMETHODS,CUSTCONTRACTNODATE,CUSTCONTRACTNO,ARRIVALDATE,DESCRIPTION,GOODSNAME,GROSSWEIGHT,TOTALNO,CNTRTOTAL");
|
|
strSql.Append(",(SELECT TOP 1 TRAINNO FROM op_railway_bill_train WHERE BSNO=op_railway_bill.AS_ID ) as TRAINNO ");
|
|
strSql.Append(" from op_railway_bill ");
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition);
|
|
}
|
|
var list = SetBillData(strSql);
|
|
if (list.Count > 0)
|
|
return list[0];
|
|
return new MsOpRailwayBill();
|
|
}
|
|
|
|
private static List<MsOpRailwayBill> SetBillData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<MsOpRailwayBill>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsOpRailwayBill data = new MsOpRailwayBill();
|
|
#region Set DB data to Object
|
|
data.AS_ID = Convert.ToString(reader["AS_ID"]);//业务编号
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);//主提单号
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);//主提单号
|
|
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]);//分提单号
|
|
data.TRAINNO = Convert.ToString(reader["TRAINNO"]);//分提单号
|
|
data.SHIPPERID = Convert.ToString(reader["SHIPPERID"]);//发货人
|
|
data.CONSIGNEEID = Convert.ToString(reader["CONSIGNEEID"]);//收货人
|
|
data.SHIPPER = Convert.ToString(reader["SHIPPER"]);//发货人内容
|
|
data.CONSIGNEE = Convert.ToString(reader["CONSIGNEE"]);//收货人内容
|
|
data.PLACELOADENAME = Convert.ToString(reader["PLACELOADENAME"]);// 业务状态
|
|
data.DESTINATIONENAME = Convert.ToString(reader["DESTINATIONENAME"]);// 费用状态
|
|
data.SHENCODE = Convert.ToString(reader["SHENCODE"]);//船名
|
|
data.SHIPPERSTATEMENT = Convert.ToString(reader["SHIPPERSTATEMENT"]);//航次
|
|
data.NOBINDINGRECORD = Convert.ToString(reader["NOBINDINGRECORD"]);//装货港代码
|
|
data.CUSTOMERRECORD = Convert.ToString(reader["CUSTOMERRECORD"]);//装货港
|
|
data.SHIPPERFILES = Convert.ToString(reader["SHIPPERFILES"]);//卸货港代码
|
|
data.OTHERFIELD1 = Convert.ToString(reader["OTHERFIELD1"]);//卸货港
|
|
data.PLACETRANSITENAME = Convert.ToString(reader["PLACETRANSITENAME"]);//集装箱大写
|
|
data.NOPKGS = Convert.ToString(reader["NOPKGS"]);//件数包装
|
|
data.PKGS = Convert.ToString(reader["PKGS"]);//件数包装
|
|
data.KGS = Convert.ToString(reader["KGS"]);//件数包装
|
|
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);//货物描述
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
|
|
data.GROSSWEIGHT = Convert.ToString(reader["GROSSWEIGHT"]);//货物毛重
|
|
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);//集装箱全部内容
|
|
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);//件数大写
|
|
data.SEALNO = Convert.ToString(reader["SEALNO"]);//件数大写
|
|
data.LOADER = Convert.ToString(reader["LOADER"]);//件数大写
|
|
data.WEIGHTMETHODS = Convert.ToString(reader["WEIGHTMETHODS"]);//件数大写
|
|
data.CUSTCONTRACTNODATE = Convert.ToString(reader["CUSTCONTRACTNODATE"]);
|
|
data.CUSTCONTRACTNO = Convert.ToString(reader["CUSTCONTRACTNO"]);
|
|
data.ARRIVALDATE = Convert.ToString(reader["ARRIVALDATE"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
static public List<MsOpRailwayBillTrain> GetBodyTrainList(string strCondition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT GID,[BSNO],isnull(SORTNO,1) as SORTNO,TRAINNO,CARRIER,KGS,SHAFTNUM,TRAINKGS,TANKTYPE,AFTERKGS,AFTERPKGS,[REMARK] from op_railway_bill_train");
|
|
if (strCondition.Trim() != String.Empty)
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(" order by BSNO,SORTNO");
|
|
return SetBodyTrainData(strSql);
|
|
}
|
|
|
|
private static List<MsOpRailwayBillTrain> SetBodyTrainData(StringBuilder strSql)
|
|
{
|
|
var bodyList = new List<MsOpRailwayBillTrain>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsOpRailwayBillTrain data = new MsOpRailwayBillTrain();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);//编号
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
data.SORTNO = Convert.ToString(reader["SORTNO"]);//箱型代码
|
|
data.TRAINNO = Convert.ToString(reader["TRAINNO"]);//尺寸
|
|
data.CARRIER = Convert.ToString(reader["CARRIER"]);//箱型
|
|
if (reader["KGS"] != DBNull.Value)
|
|
data.KGS = Convert.ToDecimal(reader["KGS"]);//箱量
|
|
if (reader["SHAFTNUM"] != DBNull.Value)
|
|
data.SHAFTNUM = Convert.ToInt32(reader["SHAFTNUM"]);//TEU
|
|
if (reader["TRAINKGS"] != DBNull.Value)
|
|
data.TRAINKGS = Convert.ToDecimal(reader["TRAINKGS"]);//重量(货重)
|
|
if (reader["AFTERKGS"] != DBNull.Value)
|
|
data.AFTERKGS = Convert.ToDecimal(reader["AFTERKGS"]);//尺码
|
|
if (reader["AFTERPKGS"] != DBNull.Value)
|
|
data.AFTERKGS = Convert.ToInt32(reader["AFTERPKGS"]);//尺码
|
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
|
|
data.TANKTYPE = Convert.ToString(reader["TANKTYPE"]);//包装类型
|
|
|
|
#endregion
|
|
bodyList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return bodyList;
|
|
}
|
|
|
|
static public List<MsOpRailwayBillRoad> GetBodyRoadList(string strCondition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT GID,[BSNO],isnull(SORTNO,1) as SORTNO,CARRIER,FRSTATION,FRSTATIONID,TOSTATION,TOSTATIONID,[REMARK] from op_railway_bill_road");
|
|
if (strCondition.Trim() != String.Empty)
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(" order by BSNO,SORTNO");
|
|
return SetBodyRoadData(strSql);
|
|
}
|
|
|
|
private static List<MsOpRailwayBillRoad> SetBodyRoadData(StringBuilder strSql)
|
|
{
|
|
var bodyList = new List<MsOpRailwayBillRoad>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsOpRailwayBillRoad data = new MsOpRailwayBillRoad();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);//编号
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
data.SORTNO = Convert.ToString(reader["SORTNO"]);//箱型代码
|
|
data.CARRIER = Convert.ToString(reader["CARRIER"]);//箱型
|
|
data.TOSTATION = Convert.ToString(reader["TOSTATION"]);//包装类型
|
|
data.TOSTATIONID = Convert.ToString(reader["TOSTATIONID"]);//包装类型
|
|
data.FRSTATION = Convert.ToString(reader["FRSTATION"]);//包装类型
|
|
data.FRSTATIONID = Convert.ToString(reader["FRSTATIONID"]);//包装类型
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
|
|
|
|
#endregion
|
|
bodyList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return bodyList;
|
|
}
|
|
|
|
public static DBResult SaveBillDetail(string bsno, List<MsOpRailwayBillTrain> bodyList, List<MsOpRailwayBillRoad> bodyroadList, string userid)
|
|
{
|
|
var result = new DBResult();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
|
|
if (bodyList != null)
|
|
{
|
|
var cmddelete = db.GetSqlStringCommand(@"delete from op_railway_bill_train where BSNO='" + bsno + "'");
|
|
db.ExecuteNonQuery(cmddelete, tran);
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
//
|
|
var cmdInsert = db.GetSqlStringCommand(@"insert into op_railway_bill_train (GID,BSNO,SORTNO,TRAINNO,CARRIER,KGS,SHAFTNUM,TRAINKGS,TANKTYPE,AFTERKGS,AFTERPKGS,REMARK) values (newid(),'" + bsno + "'," + enumValue.SORTNO + ",'" + enumValue.TRAINNO + "','" + enumValue.CARRIER + "'," + enumValue.KGS + "," + enumValue.SHAFTNUM + "," + enumValue.TRAINKGS + ",'" + enumValue.TANKTYPE + "'," + enumValue.AFTERKGS + "," + enumValue.AFTERPKGS + ",'" + enumValue.REMARK + "')");
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
}
|
|
|
|
if (bodyroadList != null)
|
|
{
|
|
var cmddelete = db.GetSqlStringCommand(@"delete from op_railway_bill_road where BSNO='" + bsno + "'");
|
|
db.ExecuteNonQuery(cmddelete, tran);
|
|
foreach (var enumValue in bodyroadList)
|
|
{
|
|
//
|
|
var cmdInsert = db.GetSqlStringCommand(@"insert into op_railway_bill_road (GID,BSNO,SORTNO,CARRIER,FRSTATION,FRSTATIONID,TOSTATION,TOSTATIONID,REMARK) values (newid(),'" + bsno + "'," + enumValue.SORTNO + ",'" + enumValue.CARRIER + "','" + enumValue.FRSTATION + "','" + enumValue.FRSTATIONID + "','" + enumValue.TOSTATION + "','" + enumValue.TOSTATIONID + "','" + enumValue.REMARK + "')");
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
}
|
|
//
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
return result;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 铁路口岸
|
|
static public List<RailWayPortModel> GetPortRefList(string strCondition,string sort=null,bool isall=false)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" GID,PORTID,PORTENAME,PORTCNAME,REMARKS,(PORTENAME+'-'+PORTCNAME) as CODEANDNAME,");
|
|
strSql.Append(" PROVINCE,CITYENAME,CITYCNAME,PORTDETAIL,RAILBUREAU,DTALSHANKOU,DTMANZHOULI,DTERLIAN,");
|
|
strSql.Append("DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,");
|
|
strSql.Append("IS48,IS50,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,PORTTYPE,ISBORDERPORT,BORDERPORTID");
|
|
strSql.Append(",(CASE PORTTYPE WHEN 'F' THEN '境外' ELSE '境内' END) PORTTYPEREF");
|
|
strSql.Append(" from code_railwayport ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
if (isall != true)
|
|
strSql.Append(" and ISOFTEN=1 ");
|
|
}
|
|
else
|
|
{
|
|
if (isall != true)
|
|
strSql.Append(" where ISOFTEN=1 ");
|
|
|
|
}
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by PORTENAME");
|
|
}
|
|
|
|
|
|
|
|
return SetPortRefData(strSql);
|
|
}
|
|
|
|
static public RailWayPortModel GetPortData(string condition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" GID,PORTID,PORTENAME,PORTCNAME,REMARKS,(PORTENAME+'-'+PORTCNAME) as CODEANDNAME,");
|
|
strSql.Append(" PROVINCE,CITYENAME,CITYCNAME,PORTDETAIL,RAILBUREAU,DTALSHANKOU,DTMANZHOULI,DTERLIAN,");
|
|
strSql.Append("DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,");
|
|
strSql.Append("IS48,IS50,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,PORTTYPE,ISBORDERPORT,BORDERPORTID");
|
|
strSql.Append(",(CASE PORTTYPE WHEN 'F' THEN '境外' ELSE '境内' END) PORTTYPEREF");
|
|
strSql.Append(" from code_railwayport ");
|
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition);
|
|
}
|
|
|
|
strSql.Append(" order by PORTENAME");
|
|
|
|
var list = SetPortRefData(strSql);
|
|
if (list.Count > 0)
|
|
{
|
|
return list[0];
|
|
}
|
|
return new RailWayPortModel();
|
|
}
|
|
|
|
private static List<RailWayPortModel> SetPortRefData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<RailWayPortModel>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
RailWayPortModel data = new RailWayPortModel();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.PORTID = Convert.ToString(reader["PORTID"]);
|
|
data.PORTENAME = Convert.ToString(reader["PORTENAME"]);
|
|
data.PORTCNAME = Convert.ToString(reader["PORTCNAME"]);
|
|
data.CODEANDNAME = Convert.ToString(reader["CODEANDNAME"]);
|
|
data.PROVINCE = Convert.ToString(reader["PROVINCE"]);
|
|
data.CITYENAME = Convert.ToString(reader["CITYENAME"]);
|
|
data.CITYCNAME = Convert.ToString(reader["CITYCNAME"]);
|
|
data.PORTDETAIL = Convert.ToString(reader["PORTDETAIL"]);
|
|
data.RAILBUREAU = Convert.ToString(reader["RAILBUREAU"]);
|
|
if (reader["DTALSHANKOU"] != DBNull.Value)
|
|
data.DTALSHANKOU = Convert.ToDecimal(reader["DTALSHANKOU"]);
|
|
if (reader["DTMANZHOULI"] != DBNull.Value)
|
|
data.DTMANZHOULI = Convert.ToDecimal(reader["DTMANZHOULI"]);
|
|
if (reader["DTERLIAN"] != DBNull.Value)
|
|
data.DTERLIAN = Convert.ToDecimal(reader["DTERLIAN"]);
|
|
if (reader["DTSUIFENHE"] != DBNull.Value)
|
|
data.DTSUIFENHE = Convert.ToDecimal(reader["DTSUIFENHE"]);
|
|
if (reader["DTDANDONG"] != DBNull.Value)
|
|
data.DTDANDONG = Convert.ToDecimal(reader["DTDANDONG"]);
|
|
if (reader["DTPINGXIANG"] != DBNull.Value)
|
|
data.DTPINGXIANG = Convert.ToDecimal(reader["DTPINGXIANG"]);
|
|
if (reader["DTHORGOS"] != DBNull.Value)
|
|
data.DTHORGOS = Convert.ToDecimal(reader["DTHORGOS"]);
|
|
if (reader["ISOFTEN"] != DBNull.Value)
|
|
data.ISOFTEN = Convert.ToBoolean(reader["ISOFTEN"]);
|
|
data.WORKPOWER = Convert.ToString(reader["WORKPOWER"]);
|
|
if (reader["IS20"] != DBNull.Value)
|
|
data.IS20 = Convert.ToBoolean(reader["IS20"]);
|
|
if (reader["IS40"] != DBNull.Value)
|
|
data.IS40 = Convert.ToBoolean(reader["IS40"]);
|
|
if (reader["IS48"] != DBNull.Value)
|
|
data.IS48 = Convert.ToBoolean(reader["IS48"]);
|
|
if (reader["IS50"] != DBNull.Value)
|
|
data.IS50 = Convert.ToBoolean(reader["IS50"]);
|
|
if (reader["ISTANK"] != DBNull.Value)
|
|
data.ISTANK = Convert.ToBoolean(reader["ISTANK"]);
|
|
if (reader["ISBULK"] != DBNull.Value)
|
|
data.ISBULK = Convert.ToBoolean(reader["ISBULK"]);
|
|
if (reader["ISFLAT"] != DBNull.Value)
|
|
data.ISFLAT = Convert.ToBoolean(reader["ISFLAT"]);
|
|
if (reader["ISDSCAR"] != DBNull.Value)
|
|
data.ISDSCAR = Convert.ToBoolean(reader["ISDSCAR"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
if (reader["ISCN"] != DBNull.Value)
|
|
data.ISCN = Convert.ToBoolean(reader["ISCN"]);
|
|
data.PORTTYPE = Convert.ToString(reader["PORTTYPE"]);
|
|
data.PORTTYPEREF = Convert.ToString(reader["PORTTYPEREF"]);
|
|
data.BORDERPORTID = Convert.ToString(reader["BORDERPORTID"]);
|
|
if (reader["ISBORDERPORT"] != DBNull.Value)
|
|
data.ISBORDERPORT = Convert.ToBoolean(reader["ISBORDERPORT"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
RailWayPortModel Adata = new RailWayPortModel();
|
|
#region Set DB data to Object
|
|
Adata.GID ="";
|
|
Adata.PORTID ="";
|
|
Adata.PORTENAME ="";
|
|
Adata.PORTCNAME ="";
|
|
Adata.CODEANDNAME ="";
|
|
Adata.PROVINCE ="";
|
|
Adata.CITYENAME ="";
|
|
Adata.CITYCNAME ="";
|
|
Adata.PORTDETAIL = "";
|
|
Adata.RAILBUREAU = "";
|
|
Adata.DTALSHANKOU =0;
|
|
Adata.DTMANZHOULI = 0;
|
|
Adata.DTERLIAN =0;
|
|
Adata.DTSUIFENHE =0;
|
|
Adata.DTDANDONG =0;
|
|
Adata.DTPINGXIANG =0;
|
|
Adata.DTHORGOS =0;
|
|
Adata.ISOFTEN =false;
|
|
Adata.WORKPOWER ="";
|
|
Adata.IS20 = false;
|
|
Adata.IS40 = false;
|
|
Adata.IS48 = false;
|
|
Adata.IS50 = false;
|
|
Adata.ISTANK = false;
|
|
Adata.ISBULK = false;
|
|
Adata.ISFLAT = false;
|
|
Adata.ISDSCAR = false;
|
|
Adata.REMARKS ="";
|
|
Adata.ISCN = false;
|
|
Adata.PORTTYPE ="";
|
|
Adata.PORTTYPEREF = "";
|
|
Adata.BORDERPORTID ="";
|
|
Adata.ISBORDERPORT =false;
|
|
#endregion
|
|
headList.Add(Adata);
|
|
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult DeletePort(string GID)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (GID != "")
|
|
{
|
|
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from code_railwayport where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
static public List<RailWayFrPortModel> GetAllPortRefList(string strCondition, string sort = null)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" GID,PORTID,PORTENAME,PORTCNAME,PORTRNAME,REMARKS,(PORTENAME+'-'+PORTCNAME) as CODEANDNAME,");
|
|
strSql.Append(" COUNTRY,COUNTRYECODE,COUNTRYRCODE,COUNTRYCODE,COUNTRYENAME,COUNTRYRNAME,CITYENAME,CITYCNAME,PORTDETAIL,");
|
|
strSql.Append("ADDR,RAILBUREAU,DTALSHANKOU,DTMANZHOULI,DTERLIAN,");
|
|
strSql.Append("DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,");
|
|
strSql.Append("IS48,IS50,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,'T' PORTTYPE,ISBORDERPORT,BORDERPORTID");
|
|
strSql.Append(",'境外' PORTTYPEREF");
|
|
strSql.Append(" from code_railway_frport where ISOFTEN=1 ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" AND " + strCondition);
|
|
}
|
|
strSql.Append("UNION SELECT ");
|
|
strSql.Append(" GID,PORTID,PORTENAME,PORTCNAME,'' PORTRNAME,REMARKS,(PORTENAME+'-'+PORTCNAME) as CODEANDNAME,");
|
|
strSql.Append(" '' COUNTRY,'' COUNTRYECODE,'' COUNTRYRCODE,'' COUNTRYCODE,'' COUNTRYENAME,'' COUNTRYRNAME,CITYENAME,CITYCNAME,PORTDETAIL,");
|
|
strSql.Append(" '' ADDR,RAILBUREAU,DTALSHANKOU,DTMANZHOULI,DTERLIAN,");
|
|
strSql.Append("DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,");
|
|
strSql.Append("IS48,IS50,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,'F' PORTTYPE,ISBORDERPORT,BORDERPORTID");
|
|
strSql.Append(",'境内' PORTTYPEREF");
|
|
strSql.Append(" from code_railwayport where ISOFTEN=1 ");
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by PORTENAME");
|
|
}
|
|
|
|
|
|
|
|
return SetFrPortRefData(strSql);
|
|
}
|
|
|
|
|
|
static public List<RailWayFrPortModel> GetFrPortRefList(string strCondition, string sort = null, bool isall = false)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" GID,PORTID,PORTENAME,PORTCNAME,PORTRNAME,REMARKS,(PORTENAME+'-'+PORTCNAME) as CODEANDNAME,");
|
|
strSql.Append(" COUNTRY,COUNTRYECODE,COUNTRYRCODE,COUNTRYCODE,COUNTRYENAME,COUNTRYRNAME,CITYENAME,CITYCNAME,PORTDETAIL,");
|
|
strSql.Append("ADDR,RAILBUREAU,DTALSHANKOU,DTMANZHOULI,DTERLIAN,");
|
|
strSql.Append("DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,");
|
|
strSql.Append("IS48,IS50,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,PORTTYPE,ISBORDERPORT,BORDERPORTID");
|
|
strSql.Append(",(CASE PORTTYPE WHEN 'F' THEN '境外' ELSE '境内' END) PORTTYPEREF");
|
|
strSql.Append(" from code_railway_frport ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
if (isall != true)
|
|
strSql.Append(" and ISOFTEN=1 ");
|
|
}
|
|
else {
|
|
if (isall != true)
|
|
strSql.Append(" where ISOFTEN=1 ");
|
|
|
|
}
|
|
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by PORTENAME");
|
|
}
|
|
|
|
|
|
|
|
return SetFrPortRefData(strSql);
|
|
}
|
|
|
|
static public RailWayFrPortModel GetFrPortData(string condition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" GID,PORTID,PORTENAME,PORTCNAME,PORTRNAME,REMARKS,(PORTENAME+'-'+PORTCNAME) as CODEANDNAME,");
|
|
strSql.Append(" COUNTRY,COUNTRYECODE,COUNTRYRCODE,COUNTRYCODE,COUNTRYENAME,COUNTRYRNAME,CITYENAME,CITYCNAME,PORTDETAIL,");
|
|
strSql.Append("ADDR,RAILBUREAU,DTALSHANKOU,DTMANZHOULI,DTERLIAN,");
|
|
strSql.Append("DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,");
|
|
strSql.Append("IS48,IS50,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,PORTTYPE,ISBORDERPORT,BORDERPORTID");
|
|
strSql.Append(",(CASE PORTTYPE WHEN 'F' THEN '境外' ELSE '境内' END) PORTTYPEREF");
|
|
strSql.Append(" from code_railway_frport ");
|
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition);
|
|
}
|
|
|
|
strSql.Append(" order by PORTENAME");
|
|
|
|
var list = SetFrPortRefData(strSql);
|
|
if (list.Count > 0)
|
|
{
|
|
return list[0];
|
|
}
|
|
return new RailWayFrPortModel();
|
|
}
|
|
|
|
private static List<RailWayFrPortModel> SetFrPortRefData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<RailWayFrPortModel>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
RailWayFrPortModel data = new RailWayFrPortModel();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.PORTID = Convert.ToString(reader["PORTID"]);
|
|
data.PORTENAME = Convert.ToString(reader["PORTENAME"]);
|
|
data.PORTCNAME = Convert.ToString(reader["PORTCNAME"]);
|
|
data.PORTRNAME = Convert.ToString(reader["PORTRNAME"]);
|
|
data.CODEANDNAME = Convert.ToString(reader["CODEANDNAME"]);
|
|
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
|
|
data.COUNTRYECODE = Convert.ToString(reader["COUNTRYECODE"]);
|
|
data.COUNTRYRCODE = Convert.ToString(reader["COUNTRYRCODE"]);
|
|
data.COUNTRYCODE = Convert.ToString(reader["COUNTRYCODE"]);
|
|
data.COUNTRYENAME = Convert.ToString(reader["COUNTRYENAME"]);
|
|
data.COUNTRYRNAME = Convert.ToString(reader["COUNTRYRNAME"]);
|
|
data.CITYENAME = Convert.ToString(reader["CITYENAME"]);
|
|
data.CITYCNAME = Convert.ToString(reader["CITYCNAME"]);
|
|
data.ADDR = Convert.ToString(reader["ADDR"]);
|
|
data.PORTDETAIL = Convert.ToString(reader["PORTDETAIL"]);
|
|
data.RAILBUREAU = Convert.ToString(reader["RAILBUREAU"]);
|
|
if (reader["DTALSHANKOU"] != DBNull.Value)
|
|
data.DTALSHANKOU = Convert.ToDecimal(reader["DTALSHANKOU"]);
|
|
if (reader["DTMANZHOULI"] != DBNull.Value)
|
|
data.DTMANZHOULI = Convert.ToDecimal(reader["DTMANZHOULI"]);
|
|
if (reader["DTERLIAN"] != DBNull.Value)
|
|
data.DTERLIAN = Convert.ToDecimal(reader["DTERLIAN"]);
|
|
if (reader["DTSUIFENHE"] != DBNull.Value)
|
|
data.DTSUIFENHE = Convert.ToDecimal(reader["DTSUIFENHE"]);
|
|
if (reader["DTDANDONG"] != DBNull.Value)
|
|
data.DTDANDONG = Convert.ToDecimal(reader["DTDANDONG"]);
|
|
if (reader["DTPINGXIANG"] != DBNull.Value)
|
|
data.DTPINGXIANG = Convert.ToDecimal(reader["DTPINGXIANG"]);
|
|
if (reader["DTHORGOS"] != DBNull.Value)
|
|
data.DTHORGOS = Convert.ToDecimal(reader["DTHORGOS"]);
|
|
if (reader["ISOFTEN"] != DBNull.Value)
|
|
data.ISOFTEN = Convert.ToBoolean(reader["ISOFTEN"]);
|
|
data.WORKPOWER = Convert.ToString(reader["WORKPOWER"]);
|
|
if (reader["IS20"] != DBNull.Value)
|
|
data.IS20 = Convert.ToBoolean(reader["IS20"]);
|
|
if (reader["IS40"] != DBNull.Value)
|
|
data.IS40 = Convert.ToBoolean(reader["IS40"]);
|
|
if (reader["IS48"] != DBNull.Value)
|
|
data.IS48 = Convert.ToBoolean(reader["IS48"]);
|
|
if (reader["IS50"] != DBNull.Value)
|
|
data.IS50 = Convert.ToBoolean(reader["IS50"]);
|
|
if (reader["ISTANK"] != DBNull.Value)
|
|
data.ISTANK = Convert.ToBoolean(reader["ISTANK"]);
|
|
if (reader["ISBULK"] != DBNull.Value)
|
|
data.ISBULK = Convert.ToBoolean(reader["ISBULK"]);
|
|
if (reader["ISFLAT"] != DBNull.Value)
|
|
data.ISFLAT = Convert.ToBoolean(reader["ISFLAT"]);
|
|
if (reader["ISDSCAR"] != DBNull.Value)
|
|
data.ISDSCAR = Convert.ToBoolean(reader["ISDSCAR"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
if (reader["ISCN"] != DBNull.Value)
|
|
data.ISCN = Convert.ToBoolean(reader["ISCN"]);
|
|
data.PORTTYPE = Convert.ToString(reader["PORTTYPE"]);
|
|
data.PORTTYPEREF = Convert.ToString(reader["PORTTYPEREF"]);
|
|
data.BORDERPORTID = Convert.ToString(reader["BORDERPORTID"]);
|
|
if (reader["ISBORDERPORT"] != DBNull.Value)
|
|
data.ISBORDERPORT = Convert.ToBoolean(reader["ISBORDERPORT"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
RailWayFrPortModel Adata = new RailWayFrPortModel();
|
|
#region Set DB data to Object
|
|
Adata.GID = "";
|
|
Adata.PORTID = "";
|
|
Adata.PORTENAME = "";
|
|
Adata.PORTCNAME = "";
|
|
Adata.CODEANDNAME = "";
|
|
Adata.COUNTRY = "";
|
|
Adata.COUNTRYECODE = "";
|
|
Adata.COUNTRYRCODE = "";
|
|
Adata.COUNTRYCODE = "";
|
|
Adata.COUNTRYENAME = "";
|
|
Adata.COUNTRYRNAME = "";
|
|
Adata.ADDR = "";
|
|
Adata.CITYENAME = "";
|
|
Adata.CITYCNAME = "";
|
|
Adata.PORTDETAIL = "";
|
|
Adata.RAILBUREAU = "";
|
|
Adata.DTALSHANKOU = 0;
|
|
Adata.DTMANZHOULI = 0;
|
|
Adata.DTERLIAN = 0;
|
|
Adata.DTSUIFENHE = 0;
|
|
Adata.DTDANDONG = 0;
|
|
Adata.DTPINGXIANG = 0;
|
|
Adata.DTHORGOS = 0;
|
|
Adata.ISOFTEN = false;
|
|
Adata.WORKPOWER = "";
|
|
Adata.IS20 = false;
|
|
Adata.IS40 = false;
|
|
Adata.IS48 = false;
|
|
Adata.IS50 = false;
|
|
Adata.ISTANK = false;
|
|
Adata.ISBULK = false;
|
|
Adata.ISFLAT = false;
|
|
Adata.ISDSCAR = false;
|
|
Adata.REMARKS = "";
|
|
Adata.ISCN = false;
|
|
Adata.PORTTYPE = "";
|
|
Adata.PORTTYPEREF = "";
|
|
Adata.BORDERPORTID = "";
|
|
Adata.ISBORDERPORT = false;
|
|
#endregion
|
|
headList.Add(Adata);
|
|
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult UpPortOffen(List<RailWayPortModel> bodyList)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update code_railwayport set ISOFTEN=@ISOFTEN where GID=@GID ");
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
|
|
if (enumValue.ISOFTEN==true)
|
|
db.AddInParameter(cmdUpdate, "@ISOFTEN", DbType.Boolean,false);
|
|
else
|
|
db.AddInParameter(cmdUpdate, "@ISOFTEN", DbType.Boolean,true);
|
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult UpFrPortOffen(List<RailWayPortModel> bodyList)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update code_railway_frport set ISOFTEN=@ISOFTEN where GID=@GID ");
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
|
|
if (enumValue.ISOFTEN==true)
|
|
db.AddInParameter(cmdUpdate, "@ISOFTEN", DbType.Boolean,false);
|
|
else
|
|
db.AddInParameter(cmdUpdate, "@ISOFTEN", DbType.Boolean,true);
|
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
public static bool ImportFrPortData(HttpRequestBase request, DataTable table, out string msg, out List<RailWayFrPortModel> headList)
|
|
{
|
|
var isSucess = false;
|
|
msg = "";
|
|
headList = new List<RailWayFrPortModel>();
|
|
if (table == null) throw new ArgumentNullException("table");
|
|
|
|
var billNoList = new List<string>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (DbConnection connection = db.CreateConnection())
|
|
{
|
|
connection.Open();
|
|
DbTransaction idbTran = connection.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
foreach (DataRow row in table.Rows)
|
|
{
|
|
var custName = Convert.ToString(row["英文站名"]);
|
|
if (custName != "")
|
|
{
|
|
#region 托单数据生成
|
|
|
|
const string insertSql = @"insert into code_railway_frport (GID,PORTID,PORTENAME,PORTRNAME,PORTCNAME,COUNTRY,COUNTRYECODE,COUNTRYRCODE,COUNTRYCODE,
|
|
COUNTRYENAME,COUNTRYRNAME,CITYENAME,CITYCNAME,RAILBUREAU,ADDR,DTALSHANKOU,DTMANZHOULI,
|
|
DTERLIAN,DTSUIFENHE,DTDANDONG,DTPINGXIANG,DTHORGOS,ISOFTEN,WORKPOWER,IS20,IS40,IS48,IS50
|
|
,ISTANK,ISBULK,ISFLAT,ISDSCAR,REMARKS,ISCN,PORTTYPE,ISBORDERPORT,BORDERPORTID,PORTDETAIL)
|
|
values (@GID,@PORTID,@PORTENAME,@PORTRNAME,@PORTCNAME,@COUNTRY,@COUNTRYECODE,@COUNTRYRCODE,@COUNTRYCODE,
|
|
@COUNTRYENAME,@COUNTRYRNAME,@CITYENAME,@CITYCNAME,@RAILBUREAU,@ADDR,@DTALSHANKOU,@DTMANZHOULI,
|
|
@DTERLIAN,@DTSUIFENHE,@DTDANDONG,@DTPINGXIANG,@DTHORGOS,@ISOFTEN,@WORKPOWER,@IS20,@IS40,@IS48,@IS50
|
|
,@ISTANK,@ISBULK,@ISFLAT,@ISDSCAR,@REMARKS,@ISCN,@PORTTYPE,@ISBORDERPORT,@BORDERPORTID,@PORTDETAIL) ";
|
|
|
|
|
|
DbCommand cmd = db.GetSqlStringCommand(insertSql);
|
|
db.AddInParameter(cmd, "GID", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmd, "PORTID", DbType.String, Convert.ToString(row["Code"]));
|
|
db.AddInParameter(cmd, "PORTENAME", DbType.String, Convert.ToString(row["英文站名"]));
|
|
db.AddInParameter(cmd, "PORTRNAME", DbType.String, Convert.ToString(row["俄文站名"]));
|
|
db.AddInParameter(cmd, "PORTCNAME", DbType.String, Convert.ToString(row["中文站名"]));
|
|
db.AddInParameter(cmd, "COUNTRY", DbType.String, Convert.ToString(row["国家代码"]));
|
|
db.AddInParameter(cmd, "COUNTRYECODE", DbType.String, "");
|
|
db.AddInParameter(cmd, "COUNTRYRCODE", DbType.String, Convert.ToString(row["国家代码俄文"]));
|
|
db.AddInParameter(cmd, "COUNTRYCODE", DbType.String, Convert.ToString(row["国家铁路简称"]));
|
|
db.AddInParameter(cmd, "COUNTRYENAME", DbType.String, Convert.ToString(row["国家"]));
|
|
db.AddInParameter(cmd, "COUNTRYRNAME", DbType.String, Convert.ToString(row["国家名俄文"]));
|
|
db.AddInParameter(cmd, "CITYENAME", DbType.String, Convert.ToString(row["所属城市"]));
|
|
db.AddInParameter(cmd, "CITYCNAME", DbType.String, "");
|
|
db.AddInParameter(cmd, "RAILBUREAU", DbType.String, Convert.ToString(row["铁路局"]));
|
|
db.AddInParameter(cmd, "ADDR", DbType.String, Convert.ToString(row["地址"]));
|
|
db.AddInParameter(cmd, "DTALSHANKOU", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "DTMANZHOULI", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "DTERLIAN", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "DTSUIFENHE", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "DTDANDONG", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "DTPINGXIANG", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "DTHORGOS", DbType.Decimal, 0);
|
|
db.AddInParameter(cmd, "ISOFTEN", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "WORKPOWER", DbType.String, "");
|
|
db.AddInParameter(cmd, "IS20", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "IS40", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "IS48", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "IS50", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "ISTANK", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "ISBULK", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "ISFLAT", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "ISDSCAR", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "REMARKS", DbType.String, "");
|
|
db.AddInParameter(cmd, "ISCN", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "PORTTYPE", DbType.String, "T");
|
|
db.AddInParameter(cmd, "ISBORDERPORT", DbType.Boolean, false);
|
|
db.AddInParameter(cmd, "BORDERPORTID", DbType.String, "");
|
|
db.AddInParameter(cmd, "PORTDETAIL", DbType.String, "");
|
|
|
|
|
|
db.ExecuteNonQuery(cmd, idbTran);
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
idbTran.Commit();
|
|
|
|
|
|
|
|
isSucess = true;
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
idbTran.Rollback();
|
|
isSucess = false;
|
|
msg = exception.Message;
|
|
}
|
|
}
|
|
|
|
return isSucess;
|
|
}
|
|
|
|
public static bool ImportExcelData(HttpRequestBase request, DataTable table, out string msg,
|
|
out Int32 InsertCount, out Int32 UpdateCount, string BSNO, out List<MsOpRailway> headList, string userid, string username, string companyid)
|
|
{
|
|
var isSucess = false;
|
|
msg = "";
|
|
headList = new List<MsOpRailway>();
|
|
var headData = GetData("BSNO='" + BSNO+ "'");
|
|
if (table == null) throw new ArgumentNullException("table");
|
|
|
|
var billNoList = new List<string>();
|
|
InsertCount = 0;
|
|
UpdateCount = 0;
|
|
msg = "";
|
|
|
|
try
|
|
{
|
|
foreach (DataRow row in table.Rows)
|
|
{
|
|
headData.BSNO = "railway" + Guid.NewGuid().ToString();
|
|
headData.INPUTBY = username;
|
|
headData.CREATETIME = DateTime.Now;
|
|
headData.BSSTATUS = false;
|
|
headData.FEESTATUS = false;
|
|
headData.DbOperationType = DbOperationType.DbotIns;
|
|
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='铁路运输'", companyid);
|
|
if (billnoset.BILLTYPE != "")
|
|
headData.CUSTNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim());
|
|
else
|
|
headData.CUSTNO = MsOpRailwayDAL.getCodeRule("委托编号", 7, "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), userid,companyid);
|
|
headData.CNTRNO = Convert.ToString(row[0]);
|
|
headData.CTNALL = Convert.ToString(row[1]);
|
|
headData.CTNSOURCE = Convert.ToString(row[2]);
|
|
headData.MASTERNO = headData.BSNO;
|
|
if (headData.BSDATE == "") headData.BSDATE = null;
|
|
if (headData.ETA == "") headData.ETA = null;
|
|
if (headData.SETOUTDATE == "") headData.SETOUTDATE = null;
|
|
if (headData.ASETOUTDATE == "") headData.ASETOUTDATE = null;
|
|
if (headData.TRAINREPORTDATE == "") headData.TRAINREPORTDATE = null;
|
|
if (headData.STATIONTIME == "") headData.STATIONTIME = null;
|
|
if (headData.REPLACEDOCDATE == "") headData.REPLACEDOCDATE = null;
|
|
if (headData.SHENCODETIME == "") headData.SHENCODETIME = null;
|
|
if (headData.GIVECODETIME == "") headData.GIVECODETIME = null;
|
|
if (headData.RECTNDATE == "") headData.RECTNDATE = null;
|
|
if (headData.ONROADDATE == "") headData.ONROADDATE = null;
|
|
if (headData.RETURNDATE == "") headData.RETURNDATE = null;
|
|
if (headData.RECEIVECTNDATE == "") headData.RECEIVECTNDATE = null;
|
|
if (headData.CUSTOMDATE == "") headData.CUSTOMDATE = null;
|
|
if (headData.CUSTOMCLEARDATE == "") headData.CUSTOMCLEARDATE = null;
|
|
if (headData.ARRIVEPLACETRANSIT == "") headData.ARRIVEPLACETRANSIT = null;
|
|
if (headData.SETOUTPLACETRANSIT == "") headData.SETOUTPLACETRANSIT = null;
|
|
if (headData.ARRIVEFRPLACETRANSIT == "") headData.ARRIVEFRPLACETRANSIT = null;
|
|
if (headData.ARRIVALDATE == "") headData.ARRIVALDATE = null;
|
|
if (headData.RETRAINDATE == "") headData.RETRAINDATE = null;
|
|
if (headData.STLDATE == "") headData.STLDATE = null;
|
|
|
|
var modb = new ModelObjectDB();
|
|
DBResult result = modb.Save(headData);
|
|
if (result.Success) InsertCount++;
|
|
|
|
}
|
|
|
|
isSucess = true;
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
isSucess = false;
|
|
msg = exception.Message;
|
|
}
|
|
|
|
return isSucess;
|
|
}
|
|
|
|
|
|
public static DBResult DeleteFrPort(string GID)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (GID != "")
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from code_railway_frport where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
static public List<CustomRefModel> GetCustomRefList(string bsno)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append("Gid,CODENAME AS CustCode, SHORTNAME AS CustName,CODENAME + '-' + SHORTNAME AS CodeAndName,BillRises1");
|
|
strSql.Append(",UNITPRICE,description,SHORTNAME+'_'+description KFCodename,SALE");
|
|
strSql.Append(" from info_Client where SHORTNAME IN (SELECT CUSTOMERNAME from ch_Fee where BSNO='"+bsno+"' AND FEETYPE=2)");
|
|
return SetCustomRefData(strSql);
|
|
}
|
|
private static List<CustomRefModel> SetCustomRefData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<CustomRefModel>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
CustomRefModel data = new CustomRefModel();
|
|
#region Set DB data to Object
|
|
data.GId = Convert.ToString(reader["GId"]);
|
|
data.CustCode = Convert.ToString(reader["CustCode"]);
|
|
data.CustName = Convert.ToString(reader["CustName"]);
|
|
data.CodeAndName = Convert.ToString(reader["CodeAndName"]);
|
|
data.BillRises1 = Convert.ToString(reader["BillRises1"]);
|
|
data.UNITPRICE = Convert.ToString(reader["UNITPRICE"]);
|
|
data.DESCRIPTION = Convert.ToString(reader["description"]);
|
|
data.KFCodename = Convert.ToString(reader["KFCodename"]);
|
|
data.SALE = Convert.ToString(reader["SALE"]);
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
|
|
#region 运踪代码
|
|
static public List<CodeRailWayTracking> GetCodeTrackingList(string strCondition, string sort = null)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" GID,TRACKINGCODE,REMARK");
|
|
strSql.Append(" from code_railwaytracking ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by TRACKINGCODE");
|
|
}
|
|
|
|
|
|
|
|
return SetCodeTrackingData(strSql);
|
|
}
|
|
|
|
|
|
private static List<CodeRailWayTracking> SetCodeTrackingData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<CodeRailWayTracking>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
CodeRailWayTracking data = new CodeRailWayTracking();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.TRACKINGCODE = Convert.ToString(reader["TRACKINGCODE"]);
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);
|
|
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult SaveCodeTracking(List<CodeRailWayTracking> bodyList)
|
|
{
|
|
var result = new DBResult();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
|
|
if (bodyList != null)
|
|
{
|
|
var cmddelete = db.GetSqlStringCommand(@"delete from code_railwaytracking ");
|
|
db.ExecuteNonQuery(cmddelete, tran);
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
var cmdInsert = db.GetSqlStringCommand(@"insert into code_railwaytracking (GID,TRACKINGCODE,REMARK)
|
|
values (newid(),'" + enumValue.TRACKINGCODE + "','" + enumValue.REMARK + "')");
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
}
|
|
//
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
return result;
|
|
}
|
|
|
|
|
|
public static DBResult DeleteCodeTracking(List<CodeRailWayTracking> headData)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from code_railwaytracking where GID='" + enumValue.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 修改
|
|
public static DBResult Modify(List<MsOpRailway> bodyList, MsOpRailway modifydata)
|
|
{
|
|
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("update op_railway set bsno=bsno ");
|
|
if (modifydata.SETOUTDATE != "" && modifydata.SETOUTDATE != null)
|
|
strSql.Append(",SETOUTDATE=@SETOUTDATE");
|
|
if (modifydata.RETRAINDATE != "" && modifydata.RETRAINDATE != null)
|
|
strSql.Append(",RETRAINDATE=@RETRAINDATE");
|
|
if (modifydata.ARRIVEPLACETRANSIT != "" && modifydata.ARRIVEPLACETRANSIT != null)
|
|
strSql.Append(",ARRIVEPLACETRANSIT=@ARRIVEPLACETRANSIT");
|
|
if (modifydata.SETOUTPLACETRANSIT != "" && modifydata.SETOUTPLACETRANSIT != null)
|
|
strSql.Append(",SETOUTPLACETRANSIT=@SETOUTPLACETRANSIT");
|
|
|
|
if (modifydata.ETA != "" && modifydata.ETA != null)
|
|
strSql.Append(",ETA=@ETA");
|
|
if (modifydata.CUSTOMDATE != "" && modifydata.CUSTOMDATE != null)
|
|
strSql.Append(",CUSTOMDATE=@CUSTOMDATE");
|
|
if (modifydata.STATIONTIME != "" && modifydata.STATIONTIME != null)
|
|
strSql.Append(",STATIONTIME=@STATIONTIME");
|
|
if (modifydata.ARRIVALDATE != "" && modifydata.ARRIVALDATE != null)
|
|
strSql.Append(",ARRIVALDATE=@ARRIVALDATE");
|
|
|
|
|
|
strSql.Append(" where BSNO=@BSNO ");
|
|
|
|
|
|
var cmdupdate =
|
|
db.GetSqlStringCommand(strSql.ToString());
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
cmdupdate.Parameters.Clear();
|
|
if (modifydata.SETOUTDATE != "" && modifydata.SETOUTDATE != null)
|
|
db.AddInParameter(cmdupdate, "@SETOUTDATE", DbType.String, modifydata.SETOUTDATE);
|
|
if (modifydata.RETRAINDATE != "" && modifydata.RETRAINDATE != null)
|
|
db.AddInParameter(cmdupdate, "@RETRAINDATE", DbType.String, modifydata.RETRAINDATE);
|
|
|
|
if (modifydata.ARRIVEPLACETRANSIT != "" && modifydata.ARRIVEPLACETRANSIT != null)
|
|
db.AddInParameter(cmdupdate, "@ARRIVEPLACETRANSIT", DbType.String, modifydata.ARRIVEPLACETRANSIT);
|
|
if (modifydata.SETOUTPLACETRANSIT != "" && modifydata.SETOUTPLACETRANSIT != null)
|
|
db.AddInParameter(cmdupdate, "@SETOUTPLACETRANSIT", DbType.String, modifydata.SETOUTPLACETRANSIT);
|
|
|
|
if (modifydata.ETA != "" && modifydata.ETA != null)
|
|
db.AddInParameter(cmdupdate, "@ETA", DbType.String, modifydata.ETA);
|
|
if (modifydata.CUSTOMDATE != "" && modifydata.CUSTOMDATE != null)
|
|
db.AddInParameter(cmdupdate, "@CUSTOMDATE", DbType.String, modifydata.CUSTOMDATE);
|
|
if (modifydata.STATIONTIME != "" && modifydata.STATIONTIME != null)
|
|
db.AddInParameter(cmdupdate, "@STATIONTIME", DbType.String, modifydata.STATIONTIME);
|
|
if (modifydata.ARRIVALDATE != "" && modifydata.ARRIVALDATE != null)
|
|
db.AddInParameter(cmdupdate, "@ARRIVALDATE", DbType.String, modifydata.ARRIVALDATE);
|
|
|
|
db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO);
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
}
|
|
}
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "修改出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "修改成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 添加日志
|
|
public static DBResult setLog(MsOpRailway modeldata, string strUserID)
|
|
{
|
|
DBResult result = new DBResult();
|
|
if (modeldata == null)
|
|
{
|
|
result.Success = false;
|
|
result.Message = "没有输入任何需要修改的数据";
|
|
return result;
|
|
}
|
|
string OPLBNAME ="铁路运输";
|
|
string MBLNO = modeldata.MBLNO.ToString();
|
|
//
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
#region 把【仓储结算关联表wms_settlement_date】中数据【ISDELETE】设为【1】
|
|
string strSql = "insert into sys_log(NAME,LOGTYPE,LOGCONTENT,CREATEUSER) values('删除信息','删除操作','" + OPLBNAME + "主提单号:" + MBLNO + "','" + strUserID + "')";
|
|
int existVal = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql.ToString(), null);
|
|
#endregion
|
|
sqlTran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
sqlTran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "操作出现错误,请重试或联系系统管理员";
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "操作数据成功";
|
|
return result;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|