You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Areas/MvcShipping/DAL/MsOpSocCtn/MsOpSocCtnDAL.cs

1952 lines
87 KiB
C#

using System;
using System.Data;
using System.Data.Common;
using System.Collections.Generic;
using System.Text;
using DSWeb.MvcShipping.Models.MsOpSocCtn;
using Microsoft.Practices.EnterpriseLibrary.Data;
using DSWeb.EntityDA;
using DSWeb.Areas.CommMng.Models;
using HcUtility.Comm;
using HcUtility.Core;
using System.Data.SqlClient;
using DSWeb.DataAccess;
using DSWeb.MvcShipping.Models.MsCodeServiceFeeTemplate;
using DSWeb.MvcShipping.DAL.MsCodeServiceFeeTemplateDAL;
using System.Web;
using DSWeb.MvcShipping.Models.MsSysBillNoSet;
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
using DSWeb.MvcShipping.DAL.MsChFeeDAL;
using DSWeb.MvcShipping.Models.MsChFee;
namespace DSWeb.MvcShipping.DAL.MsOpSocCtnDAL
{
public class MsOpSocCtnDAL
{
#region Inquery DataList
static public List<MsOpSocCtnContract> GetDataList(int start, int limit, out int totel, string strCondition, string userid, string usercode, string companyid, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append(@"SELECT * from (SELECT row_number() over (");
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CREATETIME DESC ");
}
strSql.Append(@") as num , ");
strSql.Append(" [BSNO],[CONTRACTNO],[CONTRACTDATE],[CUSTOMERNAME],[CUSTOMERATTN],[CUSTOMERTEL],[BSSTATUS],[CLOSEDOCDATE],CNTRTOTAL");
strSql.Append(",[CLOSEFEEDATE],[CORPID],[PORTLOAD],[PORTDISCHARGE],[DEPOSIT],[RENT],[RETURNDEPOSITDATE],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=b.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=b.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(",ISNULL((select COUNT(1) FROM op_socctn_ctndetail WHERE ISNULL(BS_BSNO,'')<>'' AND BSNO=B.BSNO),0) as LOADCTNCOUNT");
strSql.Append(" from op_socctn_contract b ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
strSql.Append(@")as t ");
strSql.Append(string.Format("where t.num>{0} and t.num<={1} order by t.num ", start, start + limit)); //
totel = getTotalCount(strCondition);
return SetData(strSql.ToString());
}
public static int getTotalCount(string strCondition)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) from op_socctn_contract b");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
int cnt = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
cnt = Convert.ToInt32(reader[0]);
}
}
return cnt;
}
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;
}
}
//
String strSql = "SELECT [BSNO],[CONTRACTNO],[CONTRACTDATE],[CUSTOMERNAME],[CUSTOMERATTN],[CUSTOMERTEL],[BSSTATUS],[CLOSEDOCDATE],CNTRTOTAL";
strSql = strSql + ",[CLOSEFEEDATE],[CORPID],[PORTLOAD],[PORTDISCHARGE],[DEPOSIT],[RENT],[RETURNDEPOSITDATE],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]";
strSql = strSql + ",(select ShowName from [user] where GID=b.CREATEUSER) as CREATEUSERREF";
strSql = strSql + ",(select ShowName from [user] where GID=b.MODIFIEDUSER) as MODIFIEDUSERREF";
strSql = strSql + ",ISNULL((select COUNT(1) FROM op_socctn_ctndetail WHERE ISNULL(BS_BSNO,'')<>'' AND BSNO=B.BSNO),0) as LOADCTNCOUNT";
strSql = strSql + " from op_socctn_contract b ";
if (!string.IsNullOrEmpty(strCondition))
{
strSql += " where " + strCondition;
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql += " order by " + sortstring;
}
else
{
strSql += " order by CREATETIME desc";
}
return strSql.ToString();
}
static public MsOpSocCtnContract GetData(string condition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT [BSNO],[CONTRACTNO],[CONTRACTDATE],[CUSTOMERNAME],[CUSTOMERATTN],[CUSTOMERTEL],[BSSTATUS],[CLOSEDOCDATE],CNTRTOTAL");
strSql.Append(",[CLOSEFEEDATE],[CORPID],[PORTLOAD],[PORTDISCHARGE],[DEPOSIT],[RENT],[RETURNDEPOSITDATE],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=b.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=b.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(",ISNULL((select COUNT(1) FROM op_socctn_ctndetail WHERE ISNULL(BS_BSNO,'')<>'' AND BSNO=B.BSNO),0) as LOADCTNCOUNT");
strSql.Append(" from op_socctn_contract b ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" where " + condition);
}
var list=SetData(strSql.ToString());
if (list.Count > 0)
{
return list[0];
}
return new MsOpSocCtnContract();
}
private static List<MsOpSocCtnContract> SetData(String strSql)
{
var headList = new List<MsOpSocCtnContract>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSocCtnContract data = new MsOpSocCtnContract();
#region Set DB data to Object
data.BSNO = Convert.ToString(reader["BSNO"]);
data.BSSTATUS = Convert.ToString(reader["BSSTATUS"]);
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
if (reader["CONTRACTDATE"] != DBNull.Value)
data.CONTRACTDATE = Convert.ToDateTime(reader["CONTRACTDATE"]).ToString("yyyy-MM-dd");
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
data.CUSTOMERATTN = Convert.ToString(reader["CUSTOMERATTN"]);
data.CUSTOMERTEL = Convert.ToString(reader["CUSTOMERTEL"]);
data.CORPID = Convert.ToString(reader["CORPID"]);
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);
if (reader["CLOSEDOCDATE"] != DBNull.Value)
data.CLOSEDOCDATE = Convert.ToDateTime(reader["CLOSEDOCDATE"]).ToString("yyyy-MM-dd");
if (reader["CLOSEFEEDATE"] != DBNull.Value)
data.CLOSEFEEDATE = Convert.ToDateTime(reader["CLOSEFEEDATE"]).ToString("yyyy-MM-dd");
if (reader["DEPOSIT"] != DBNull.Value)
data.DEPOSIT = Convert.ToDecimal(reader["DEPOSIT"]);
if (reader["RENT"] != DBNull.Value)
data.RENT = Convert.ToDecimal(reader["RENT"]);
if (reader["RETURNDEPOSITDATE"] != DBNull.Value)
data.RETURNDEPOSITDATE = Convert.ToDateTime(reader["RETURNDEPOSITDATE"]).ToString("yyyy-MM-dd");
data.REMARK = Convert.ToString(reader["REMARK"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]);
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]).ToString("yyyy-MM-dd HH:mm:ss");
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
if (reader["MODIFIEDTIME"] != DBNull.Value)
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]);
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);
if (reader["LOADCTNCOUNT"] != DBNull.Value)
data.LOADCTNCOUNT = Convert.ToInt32(reader["LOADCTNCOUNT"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
public static DBResult DeleteOpSocContract(MsOpSocCtnContract headData)
{
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_socctn_ctn where BSNO='" + headData.BSNO + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdDeleteDetail = db.GetSqlStringCommand("delete from op_socctn_ctndetail where BSNO='" + headData.BSNO + "'");
db.ExecuteNonQuery(cmdDeleteDetail, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "删除成功";
return result;
}
public static DBResult LockOpSocContract(MsOpSocCtnContract headData,string type,string userid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("update op_socctn_contract set BSSTATUS='"+type+"',MODIFIEDUSER='" + userid + "',MODIFIEDTIME=GETDATE() where BSNO='" + headData.BSNO + "'");
db.ExecuteNonQuery(cmdDelete, tran);
//if (type == "1")
//{
// var cmdDelete = db.GetSqlStringCommand("update op_socctn_contract set BSSTATUS='正在执行',MODIFIEDUSER='"+userid+ "',MODIFIEDTIME=GETDATE() where BSNO='" + headData.BSNO + "'");
// db.ExecuteNonQuery(cmdDelete, tran);
//}
//else {
// var cmdDelete = db.GetSqlStringCommand("update op_socctn_contract set BSSTATUS='新建',MODIFIEDUSER='" + userid + "',MODIFIEDTIME=GETDATE() where BSNO='" + headData.BSNO + "'");
// db.ExecuteNonQuery(cmdDelete, tran);
//}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "更新成功";
return result;
}
public static DBResult LockOpSocBs(MsOpSocCtnContract headData, string type, string userid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete = db.GetSqlStringCommand("update op_socctn_bs set BSSTATUS='" + type + "',MODIFIEDUSER='" + userid + "',MODIFIEDTIME=GETDATE() where BSNO='" + headData.BSNO + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var strSql = new StringBuilder();
strSql.Append("update op_socctn_ctndetail set CTNSTATUS='待使用',BS_BSNO='' ");
strSql.Append(" where BS_BSNO=@BS_BSNO ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@BS_BSNO", DbType.String, headData.BSNO);
db.ExecuteNonQuery(cmdupdate, tran);
//if (type == "1")
//{
// var cmdDelete = db.GetSqlStringCommand("update op_socctn_contract set BSSTATUS='正在执行',MODIFIEDUSER='"+userid+ "',MODIFIEDTIME=GETDATE() where BSNO='" + headData.BSNO + "'");
// db.ExecuteNonQuery(cmdDelete, tran);
//}
//else {
// var cmdDelete = db.GetSqlStringCommand("update op_socctn_contract set BSSTATUS='新建',MODIFIEDUSER='" + userid + "',MODIFIEDTIME=GETDATE() where BSNO='" + headData.BSNO + "'");
// 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<MsOpSocCtnBs> GetBsDataList(int start, int limit, out int totel, string strCondition, string userid, string usercode, string companyid, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append(@"SELECT * from (SELECT row_number() over (");
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CREATETIME DESC ");
}
strSql.Append(@") as num , ");
strSql.Append(" [BSNO],[MBLNO],[CORPID],[VESSEL],[VOYNO],[ETD],[PORTLOAD],[PORTDISCHARGE],CNTRTOTAL,BSSTATUS");
strSql.Append(",[TRANSPORT],[ETA],[AGENT],[RTCTNDATE],[RTCTNYARD],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=b.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=b.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(" from op_socctn_bs b ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
strSql.Append(@")as t ");
strSql.Append(string.Format("where t.num>{0} and t.num<={1} order by t.num ", start, start + limit)); //
totel = getBsTotalCount(strCondition);
return SetBsData(strSql.ToString());
}
public static int getBsTotalCount(string strCondition)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) from op_socctn_bs b");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
int cnt = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
cnt = Convert.ToInt32(reader[0]);
}
}
return cnt;
}
static public string GetBsDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null)
{
String strSql = "SELECT [BSNO],[MBLNO],[CORPID],[VESSEL],[VOYNO],[ETD],[PORTLOAD],[PORTDISCHARGE],CNTRTOTA,BSSTATUSL";
strSql = strSql + ",[TRANSPORT],[ETA],[AGENT],[RTCTNDATE],[RTCTNYARD],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]";
strSql = strSql + " from op_socctn_bs b ";
if (!string.IsNullOrEmpty(strCondition))
{
strSql += " where " + strCondition;
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql += " order by " + sortstring;
}
else
{
strSql += " order by CREATETIME desc";
}
return strSql.ToString();
}
static public MsOpSocCtnBs GetBsData(string condition)
{
var strSql = new StringBuilder();
strSql.Append(" SELECT [BSNO],[MBLNO],[CORPID],[VESSEL],[VOYNO],[ETD],[PORTLOAD],[PORTDISCHARGE],CNTRTOTAL,BSSTATUS");
strSql.Append(",[TRANSPORT],[ETA],[AGENT],[RTCTNDATE],[RTCTNYARD],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=b.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=b.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(" from op_socctn_bs b ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" where " + condition);
}
var list = SetBsData(strSql.ToString());
if (list.Count > 0)
{
return list[0];
}
return new MsOpSocCtnBs();
}
private static List<MsOpSocCtnBs> SetBsData(String strSql)
{
var headList = new List<MsOpSocCtnBs>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSocCtnBs data = new MsOpSocCtnBs();
#region Set DB data to Object
data.BSNO = Convert.ToString(reader["BSNO"]);
data.BSSTATUS = Convert.ToString(reader["BSSTATUS"]);
data.MBLNO = Convert.ToString(reader["MBLNO"]);
data.VESSEL = Convert.ToString(reader["VESSEL"]);
data.VOYNO = Convert.ToString(reader["VOYNO"]);
data.CORPID = Convert.ToString(reader["CORPID"]);
if (reader["ETD"] != DBNull.Value)
data.ETD = Convert.ToDateTime(reader["ETD"]).ToString("yyyy-MM-dd");
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);
data.TRANSPORT = Convert.ToString(reader["TRANSPORT"]);
if (reader["ETA"] != DBNull.Value)
data.ETA = Convert.ToDateTime(reader["ETA"]).ToString("yyyy-MM-dd");
data.AGENT = Convert.ToString(reader["AGENT"]);
if (reader["RTCTNDATE"] != DBNull.Value)
data.RTCTNDATE = Convert.ToDateTime(reader["RTCTNDATE"]).ToString("yyyy-MM-dd");
data.RTCTNYARD = Convert.ToString(reader["RTCTNYARD"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
if (reader["MODIFIEDTIME"] != DBNull.Value)
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]);
data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]);
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 明细表
#region OpSocCtnCtn
static public List<MsOpSocCtnCtn> GetOpSocCtnCtnList(string strCondition, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT [CTN_ID],[BSNO],[CTNALL],[CTNNUM],[DEPOSITPRICE],[DEPOSIT],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=OP_SOCCTN_CTN.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=OP_SOCCTN_CTN.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(" from op_socctn_ctn ");
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 LINKGID,INSTATOINTIME desc,INPUTTIME desc ");
strSql.Append(" order by CREATETIME ");
}
return SetOpSocCtnCtnData(strSql);
}
static public string GetOpSocCtnCtnListStr(string strCondition, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT [CTN_ID],[BSNO],[CTNALL],[CTNNUM],[DEPOSITPRICE],[DEPOSIT],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=op_socctn_ctn.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=op_socctn_ctn.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(" from op_socctn_ctn ");
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 ");
}
return strSql.ToString();
}
private static List<MsOpSocCtnCtn> SetOpSocCtnCtnData(StringBuilder strSql)
{
var headList = new List<MsOpSocCtnCtn>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSocCtnCtn data = new MsOpSocCtnCtn();
#region Set DB data to Object
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);
data.BSNO = Convert.ToString(reader["BSNO"]);
data.CTNALL = Convert.ToString(reader["CTNALL"]);
if (reader["CTNNUM"] != DBNull.Value)
data.CTNNUM = Convert.ToInt32(reader["CTNNUM"]);
if (reader["DEPOSITPRICE"] != DBNull.Value)
data.DEPOSITPRICE = Convert.ToDecimal(reader["DEPOSITPRICE"]);
if (reader["DEPOSIT"] != DBNull.Value)
data.DEPOSIT = Convert.ToDecimal(reader["DEPOSIT"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
if (reader["MODIFIEDTIME"] != DBNull.Value)
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]);
data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
public static DBResult SaveOpSocCtnCtn(List<MsOpSocCtnCtn> bodyList, string BSNO, string userid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"insert into op_socctn_ctn (CTN_ID,BSNO,CTNALL,CTNNUM,DEPOSITPRICE,DEPOSIT,REMARK,CREATEUSER,CREATETIME,[MODIFIEDUSER],[MODIFIEDTIME])
values (@CTN_ID,@BSNO,@CTNALL,@CTNNUM,@DEPOSITPRICE,@DEPOSIT,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME
) ");
var cmdUpdate =
db.GetSqlStringCommand(
@"update op_socctn_ctn set CTNALL=@CTNALL,CTNNUM=@CTNNUM,DEPOSITPRICE=@DEPOSITPRICE,DEPOSIT=@DEPOSIT
,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME where CTN_ID=@CTN_ID ");
var headList = new List<MsOpSocCtnCtn>();
decimal DEPOSIT = 0;
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.BSNO == "*" || enumValue.BSNO == "")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, BSNO);
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
db.AddInParameter(cmdInsert, "@CTNNUM", DbType.Int32, enumValue.CTNNUM);
db.AddInParameter(cmdInsert, "@DEPOSITPRICE", DbType.Decimal, enumValue.DEPOSITPRICE);
db.AddInParameter(cmdInsert, "@DEPOSIT", DbType.Decimal, enumValue.DEPOSIT);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdInsert, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@CTN_ID", DbType.String, enumValue.CTN_ID);
db.AddInParameter(cmdUpdate, "@CTNALL", DbType.String, enumValue.CTNALL);
db.AddInParameter(cmdUpdate, "@CTNNUM", DbType.Int32, enumValue.CTNNUM);
db.AddInParameter(cmdUpdate, "@DEPOSITPRICE", DbType.Decimal, enumValue.DEPOSITPRICE);
db.AddInParameter(cmdUpdate, "@DEPOSIT", DbType.Decimal, enumValue.DEPOSIT);
db.AddInParameter(cmdUpdate, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdUpdate, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdUpdate, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.ExecuteNonQuery(cmdUpdate, tran);
}
DEPOSIT = DEPOSIT + enumValue.DEPOSIT;
var isfind = false;
headList.ForEach(i =>
{
if (i.CTNALL == enumValue.CTNALL)
{
i.CTNNUM = i.CTNNUM + enumValue.CTNNUM;
isfind = true;
}
});
if (!isfind) {
MsOpSocCtnCtn data = new MsOpSocCtnCtn();
data.CTNALL = enumValue.CTNALL;
data.CTNNUM = enumValue.CTNNUM;
headList.Add(data);
}
}
}
string strCNTRTOTAL = "";
foreach (var items in headList) {
strCNTRTOTAL = strCNTRTOTAL +" "+ items.CTNALL + "*" + items.CTNNUM;
}
var cmdUpdateBS =
db.GetSqlStringCommand(
@"update op_socctn_contract set CNTRTOTAL=@CNTRTOTAL,DEPOSIT=@DEPOSIT where BSNO=@BSNO ");
cmdUpdateBS.Parameters.Clear();
db.AddInParameter(cmdUpdateBS, "@CNTRTOTAL", DbType.String, strCNTRTOTAL);
db.AddInParameter(cmdUpdateBS, "@DEPOSIT", DbType.Decimal, DEPOSIT);
db.AddInParameter(cmdUpdateBS, "@BSNO", DbType.String,BSNO);
db.ExecuteNonQuery(cmdUpdateBS, 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 InsertSocCtnCtn(List<MsOpSocCtnCtn> bodyList, string userid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"insert into op_socctn_ctn (CTN_ID,BSNO,CTNALL,CTNNUM,DEPOSITPRICE,DEPOSIT,REMARK,CREATEUSER,CREATETIME)
values (@CTN_ID,@BSNO,@CTNALL,@CTNNUM,@DEPOSITPRICE,@DEPOSIT,@REMARK,@CREATEUSER,@CREATETIME
) ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
db.AddInParameter(cmdInsert, "@CTNNUM", DbType.Int32, enumValue.CTNNUM);
db.AddInParameter(cmdInsert, "@DEPOSITPRICE", DbType.Decimal, enumValue.DEPOSITPRICE);
db.AddInParameter(cmdInsert, "@DEPOSIT", DbType.Decimal, enumValue.DEPOSIT);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
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 DeleteOpSocCtnCtn(List<MsOpSocCtnCtn> 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 op_socctn_ctn where CTN_ID='" + enumValue.CTN_ID + "'");
db.ExecuteNonQuery(cmdDelete, tran);
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "删除成功";
return result;
}
public static DBResult CreateOpSocCtnCtn(List<MsOpSocCtnCtn> headData)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var headList = new List<MsOpSocCtnCtnDetail>();
var BSNO = "";
if (headData != null)
{
foreach (var enumValue in headData)
{
BSNO = enumValue.BSNO;
var ctndetaillist = GetOpSocCtnCtnDetailList("D.CTN_ID='"+ enumValue.CTN_ID + "'");
if (ctndetaillist.Count <= enumValue.CTNNUM) {
for (var i= ctndetaillist.Count;i< enumValue.CTNNUM; i++) {
MsOpSocCtnCtnDetail data = new MsOpSocCtnCtnDetail();
data.BSNO = enumValue.BSNO;
data.CTN_ID = enumValue.CTN_ID;
data.CTNALL = enumValue.CTNALL;
data.DEPOSITPRICE = enumValue.DEPOSITPRICE;
data.CTNSTATUS = "未入场";
data.CTNGID = Guid.NewGuid().ToString();
headList.Add(data);
}
}
}
}
if (headList != null && headList.Count > 0) {
InsertSocCtnCtnDetail(headList,BSNO);
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "生成出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "生成成功";
return result;
}
#endregion
#region OpSocCtnCtnDetail
static public List<MsOpSocCtnCtnDetail> GetOpSocCtnCtnDetailList(string strCondition, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT D.[CTNGID],D.[CTN_ID],D.[BSNO],D.[CTNALL],D.[CNTRNO],D.[CTNSTATUS],D.[YARD],D.[INPUTYARDDATE],D.[OUTYARDDATE]");
strSql.Append(",D.[RTCTNDATE],D.[RTCTNYARD],D.[DEPOSITPRICE],D.[REMARK],D.[CREATEUSER],D.[CREATETIME],D.[MODIFIEDUSER],D.[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=D.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=D.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(",B.CONTRACTNO,D.PORTDISCHARGE");
strSql.Append(" from op_socctn_ctnDetail D ");
strSql.Append(" left join op_socctn_contract B ON (B.BSNO=D.BSNO) ");
strSql.Append(" left join op_socctn_bs BS ON (BS.BSNO=D.BS_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 LINKGID,INSTATOINTIME desc,INPUTTIME desc ");
strSql.Append(" order by CREATETIME ");
}
return SetOpSocCtnCtnDetailData(strSql);
}
static public string GetOpSocCtnCtnDetailListStr(string strCondition, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT D.[CTNGID],D.[CTN_ID],D.[BSNO],D.[CTNALL],D.[CNTRNO],D.[CTNSTATUS],D.[YARD],D.[INPUTYARDDATE],D.[OUTYARDDATE]");
strSql.Append(",D.[RTCTNDATE],D.[RTCTNYARD],D.[DEPOSITPRICE],D.[REMARK],D.[CREATEUSER],D.[CREATETIME],D.[MODIFIEDUSER],D.[MODIFIEDTIME]");
strSql.Append(",(select ShowName from [user] where GID=D.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select ShowName from [user] where GID=D.MODIFIEDUSER) as MODIFIEDUSERREF");
strSql.Append(",B.CONTRACTNO,D.PORTDISCHARGE");
strSql.Append(" from op_socctn_ctnDetail D ");
strSql.Append(" left join op_socctn_contract C ON (C.BSNO=D.BSNO) ");
strSql.Append(" left join op_socctn_bs BS ON (BS.BSNO=D.BS_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 CREATETIME ");
}
return strSql.ToString();
}
private static List<MsOpSocCtnCtnDetail> SetOpSocCtnCtnDetailData(StringBuilder strSql)
{
var headList = new List<MsOpSocCtnCtnDetail>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsOpSocCtnCtnDetail data = new MsOpSocCtnCtnDetail();
#region Set DB data to Object
data.CTNGID = Convert.ToString(reader["CTNGID"]);
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);
data.BSNO = Convert.ToString(reader["BSNO"]);
data.CTNALL = Convert.ToString(reader["CTNALL"]);
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);
data.CTNSTATUS = Convert.ToString(reader["CTNSTATUS"]);
if (reader["INPUTYARDDATE"] != DBNull.Value)
data.INPUTYARDDATE = Convert.ToDateTime(reader["INPUTYARDDATE"]).ToString("yyyy-MM-dd");
if (reader["OUTYARDDATE"] != DBNull.Value)
data.OUTYARDDATE = Convert.ToDateTime(reader["OUTYARDDATE"]).ToString("yyyy-MM-dd");
if (reader["RTCTNDATE"] != DBNull.Value)
data.RTCTNDATE = Convert.ToDateTime(reader["RTCTNDATE"]).ToString("yyyy-MM-dd");
data.RTCTNYARD = Convert.ToString(reader["RTCTNYARD"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
if (reader["MODIFIEDTIME"] != DBNull.Value)
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); ;
data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]);
data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]);
data.YARD = Convert.ToString(reader["YARD"]);
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);
if (reader["DEPOSITPRICE"] != DBNull.Value)
data.DEPOSITPRICE = Convert.ToDecimal(reader["DEPOSITPRICE"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
public static DBResult SaveOpSocCtnCtnDetail(List<MsOpSocCtnCtnDetail> bodyList, string BSNO, string userid)
{
var result = new DBResult();
var isover = true;
var BSNOLIST = new List<string>();
var RTCTNDATE = "";
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"insert into op_socctn_ctnDetail ([CTNGID],[CTN_ID],[BSNO],[CTNALL],[CNTRNO],[CTNSTATUS],YARD,[INPUTYARDDATE],[OUTYARDDATE],[RTCTNDATE],[RTCTNYARD],[DEPOSITPRICE],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME])
values (@CTNGID,@CTN_ID,@BSNO,@CTNALL,@CNTRNO,@CTNSTATUS,@YARD,@INPUTYARDDATE,@OUTYARDDATE,@RTCTNDATE,@RTCTNYARD,@DEPOSITPRICE,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME
) ");
var cmdUpdate =
db.GetSqlStringCommand(
@"update op_socctn_ctnDetail set CTNALL=@CTNALL,CNTRNO=@CNTRNO,YARD=@YARD,INPUTYARDDATE=@INPUTYARDDATE,OUTYARDDATE=@OUTYARDDATE,RTCTNDATE=@RTCTNDATE,RTCTNYARD=@RTCTNYARD,DEPOSITPRICE=@DEPOSITPRICE
,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME where CTNGID=@CTNGID ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.INPUTYARDDATE == "") enumValue.INPUTYARDDATE = null;
else
{
enumValue.INPUTYARDDATE = Convert.ToDateTime(enumValue.INPUTYARDDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
}
if (enumValue.OUTYARDDATE == "") enumValue.OUTYARDDATE = null;
else
{
enumValue.OUTYARDDATE = Convert.ToDateTime(enumValue.OUTYARDDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
}
if (enumValue.RTCTNDATE == "")
{
enumValue.RTCTNDATE = null;
isover = false;
}
else
{
enumValue.RTCTNDATE = Convert.ToDateTime(enumValue.RTCTNDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
if (string.IsNullOrEmpty(RTCTNDATE) || Convert.ToDateTime(enumValue.RTCTNDATE.Replace("GMT+0800 (中国标准时间)", "")) > Convert.ToDateTime(RTCTNDATE))
RTCTNDATE = Convert.ToDateTime(enumValue.RTCTNDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
if (!BSNOLIST.Contains(enumValue.BSNO)) BSNOLIST.Add(enumValue.BSNO);
}
if (enumValue.CTNGID == "*" || enumValue.CTNGID == "")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@CTNGID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, enumValue.CTN_ID);
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, BSNO);
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
db.AddInParameter(cmdInsert, "@CNTRNO", DbType.String, enumValue.CNTRNO);
db.AddInParameter(cmdInsert, "@CTNSTATUS", DbType.String, enumValue.CTNSTATUS);
db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD);
db.AddInParameter(cmdInsert, "@INPUTYARDDATE", DbType.String, enumValue.INPUTYARDDATE);
db.AddInParameter(cmdInsert, "@OUTYARDDATE", DbType.String, enumValue.OUTYARDDATE);
db.AddInParameter(cmdInsert, "@RTCTNDATE", DbType.String, enumValue.RTCTNDATE);
db.AddInParameter(cmdInsert, "@RTCTNYARD", DbType.String, enumValue.RTCTNYARD);
db.AddInParameter(cmdInsert, "@DEPOSITPRICE", DbType.Decimal, enumValue.DEPOSITPRICE);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdInsert, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@CTNGID", DbType.String, enumValue.CTNGID);
db.AddInParameter(cmdUpdate, "@CTNALL", DbType.String, enumValue.CTNALL);
db.AddInParameter(cmdUpdate, "@CNTRNO", DbType.String, enumValue.CNTRNO);
db.AddInParameter(cmdUpdate, "@CTNSTATUS", DbType.String, enumValue.CTNSTATUS);
db.AddInParameter(cmdUpdate, "@YARD", DbType.String, enumValue.YARD);
db.AddInParameter(cmdUpdate, "@INPUTYARDDATE", DbType.String, enumValue.INPUTYARDDATE);
db.AddInParameter(cmdUpdate, "@OUTYARDDATE", DbType.String, enumValue.OUTYARDDATE);
db.AddInParameter(cmdUpdate, "@RTCTNDATE", DbType.String, enumValue.RTCTNDATE);
db.AddInParameter(cmdUpdate, "@RTCTNYARD", DbType.String, enumValue.RTCTNYARD);
db.AddInParameter(cmdUpdate, "@DEPOSITPRICE", DbType.Decimal, enumValue.DEPOSITPRICE);
db.AddInParameter(cmdUpdate, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdUpdate, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdUpdate, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.ExecuteNonQuery(cmdUpdate, tran);
}
var strSql2 = new StringBuilder();
strSql2.Append("update op_socctn_ctndetail set CTNSTATUS=(CASE WHEN ISNULL(RTCTNDATE,'')<>'' THEN '已还箱' ELSE (CASE WHEN ISNULL(BS_BSNO,'')<>'' THEN '使用中' ELSE (CASE WHEN ISNULL(INPUTYARDDATE,'')<>'' THEN '待使用' ELSE '未进场' END) END) END) ");
strSql2.Append(" where CTNGID=@CTNGID ");
var cmdupdate2 =
db.GetSqlStringCommand(strSql2.ToString());
cmdupdate2.Parameters.Clear();
db.AddInParameter(cmdupdate2, "@CTNGID", DbType.String, enumValue.CTNGID);
db.ExecuteNonQuery(cmdupdate2, tran);
}
}
if (isover && !string.IsNullOrEmpty(RTCTNDATE))
{
var strSql3 = new StringBuilder();
strSql3.Append("update op_socctn_bs set BSSTATUS='已完成' ");
strSql3.Append(" where BSNO=@BSNO ");
var cmdupdate3 =
db.GetSqlStringCommand(strSql3.ToString());
cmdupdate3.Parameters.Clear();
db.AddInParameter(cmdupdate3, "@BSNO", DbType.String, BSNO);
db.ExecuteNonQuery(cmdupdate3, tran);
}
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员"+e.Message;
return result;
}
}
UpdateCtnContractBsStatus(BSNOLIST);
result.Success = true;
result.Message = "保存成功" + result.Message;
return result;
}
public static DBResult UpdateCtnContractBsStatus(List<string> BSNOLIST)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
foreach (var items in BSNOLIST)
{
var OpSocCtn = GetData("BSNO='" + items + "'");
if (OpSocCtn.BSSTATUS == "新建" || OpSocCtn.BSSTATUS == "正在执行")
{
var ctndetailist = GetOpSocCtnCtnDetailList("d.BSNO='" + items + "'");
var RTCTNDATE = "";
var isover = true;
if (ctndetailist != null)
{
foreach (var ctndetail in ctndetailist)
{
if (ctndetail.RTCTNDATE == "")
{
isover = false;
}
else
{
if (string.IsNullOrEmpty(RTCTNDATE) || Convert.ToDateTime(ctndetail.RTCTNDATE) > Convert.ToDateTime(RTCTNDATE))
RTCTNDATE = Convert.ToDateTime(ctndetail.RTCTNDATE).ToString("yyyy-MM-dd");
}
}
}
if (isover && !string.IsNullOrEmpty(RTCTNDATE))
{
var strSql4 = new StringBuilder();
strSql4.Append("update op_socctn_contract set BSSTATUS='押金返还',RETURNDEPOSITDATE=@RETURNDEPOSITDATE ");
strSql4.Append(" where BSNO=@BSNO ");
var cmdupdate4 =
db.GetSqlStringCommand(strSql4.ToString());
cmdupdate4.Parameters.Clear();
db.AddInParameter(cmdupdate4, "@BSNO", DbType.String, items);
db.AddInParameter(cmdupdate4, "@RETURNDEPOSITDATE", DbType.String, Convert.ToDateTime(RTCTNDATE).AddDays(7).ToString("yyyy-MM-dd"));
db.ExecuteNonQuery(cmdupdate4);
}
}
}
}
result.Success = true;
result.Message = "保存成功" + result.Message;
return result;
}
public static DBResult InsertSocCtnCtnDetail(List<MsOpSocCtnCtnDetail> bodyList, string userid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"insert into op_socctn_ctnDetail ([CTNGID],[CTN_ID],[BSNO],[CTNALL],[CNTRNO],[CTNSTATUS],YARD,[INPUTYARDDATE],[OUTYARDDATE],[RTCTNDATE],[RTCTNYARD],[DEPOSITPRICE],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME])
values (@CTNGID,@CTN_ID,@BSNO,@CTNALL,@CNTRNO,@CTNSTATUS,@YARD,@INPUTYARDDATE,@OUTYARDDATE,@RTCTNDATE,@RTCTNYARD,@DEPOSITPRICE,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME
) ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.INPUTYARDDATE == "") enumValue.INPUTYARDDATE = null;
else
{
enumValue.INPUTYARDDATE = Convert.ToDateTime(enumValue.INPUTYARDDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
}
if (enumValue.OUTYARDDATE == "") enumValue.OUTYARDDATE = null;
else
{
enumValue.OUTYARDDATE = Convert.ToDateTime(enumValue.OUTYARDDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
}
if (enumValue.RTCTNDATE == "") enumValue.RTCTNDATE = null;
else
{
enumValue.RTCTNDATE = Convert.ToDateTime(enumValue.RTCTNDATE.Replace("GMT+0800 (中国标准时间)", "")).ToString("yyyy-MM-dd");
}
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@CTNGID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, enumValue.CTN_ID);
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, enumValue.BSNO);
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
db.AddInParameter(cmdInsert, "@CNTRNO", DbType.String, enumValue.CNTRNO);
db.AddInParameter(cmdInsert, "@CTNSTATUS", DbType.String, enumValue.CTNSTATUS);
db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD);
db.AddInParameter(cmdInsert, "@INPUTYARDDATE", DbType.String, enumValue.INPUTYARDDATE);
db.AddInParameter(cmdInsert, "@OUTYARDDATE", DbType.String, enumValue.OUTYARDDATE);
db.AddInParameter(cmdInsert, "@RTCTNDATE", DbType.String, enumValue.RTCTNDATE);
db.AddInParameter(cmdInsert, "@RTCTNYARD", DbType.String, enumValue.RTCTNYARD);
db.AddInParameter(cmdInsert, "@DEPOSITPRICE", DbType.Decimal, enumValue.DEPOSITPRICE);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdInsert, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
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 ModifyCtnDetail(List<MsOpSocCtnCtnDetail> bodyList, MsOpSocCtnCtnDetail modifydata, string companyid, string userid)
{
var result = new DBResult();
string errstr = "";
string tmperrstr = "";
int i = 0;
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var strSql = new StringBuilder();
strSql.Append("update op_socctn_ctndetail set MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME ");
if (modifydata.INPUTYARDDATE != "" && modifydata.INPUTYARDDATE != null)
strSql.Append(",INPUTYARDDATE=@INPUTYARDDATE");
if (modifydata.OUTYARDDATE != "" && modifydata.OUTYARDDATE != null)
strSql.Append(",OUTYARDDATE=@OUTYARDDATE");
if (modifydata.PORTDISCHARGE != "" && modifydata.PORTDISCHARGE != null)
strSql.Append(",PORTDISCHARGE=@PORTDISCHARGE");
strSql.Append(" where CTNGID=@CTNGID ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
var isPost = true;
if (isPost)
{
cmdupdate.Parameters.Clear();
if (modifydata.INPUTYARDDATE != "" && modifydata.INPUTYARDDATE != null)
db.AddInParameter(cmdupdate, "@INPUTYARDDATE", DbType.String, modifydata.INPUTYARDDATE);
if (modifydata.OUTYARDDATE != "" && modifydata.OUTYARDDATE != null)
db.AddInParameter(cmdupdate, "@OUTYARDDATE", DbType.String, modifydata.OUTYARDDATE);
if (modifydata.PORTDISCHARGE != "" && modifydata.PORTDISCHARGE != null)
db.AddInParameter(cmdupdate, "@PORTDISCHARGE", DbType.String, modifydata.PORTDISCHARGE);
db.AddInParameter(cmdupdate, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdupdate, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@CTNGID", DbType.String, enumValue.CTNGID);
db.ExecuteNonQuery(cmdupdate, tran);
i = i + 1;
}
}
}
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "修改出现错误,请重试或联系系统管理员" + e.Message;
return result;
}
}
result.Success = true;
result.Message = "修改成功" + i.ToString() + "票";
if (errstr != "")
{
result.Message = result.Message + "(其中" + errstr + " 无法修改)";
}
return result;
}
public static DBResult InsertCtn(DataTable dt, string userid, string companyid)
{
DBResult result = new DBResult();
var i = 0;
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (dt.Rows.Count > 0)
{
var billNoList = new List<string>();
foreach (DataRow row in dt.Rows)
{
var CTNNO = Convert.ToString(row["CNTR"]);
var SO = Convert.ToString(row["SO#"]);
var CTNSIZE = Convert.ToString(row["SIZE"]);
if (!string.IsNullOrEmpty(CTNNO)&& !string.IsNullOrEmpty(SO)&&CTNNO.Length<30)
{
var strSql = new StringBuilder();
strSql.Append("update op_socctn_ctndetail set MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME ");
strSql.Append(",CNTRNO=@CNTRNO");
strSql.Append(" where CTNGID in (SELECT TOP 1 CTNGID FROM op_socctn_ctndetail ");
strSql.Append(" where CTNALL='"+ CTNSIZE + "' AND ISNULL(CNTRNO,'')='' AND BSNO IN (SELECT BSNO FROM op_socctn_contract WHERE CONTRACTNO='"+ SO + "')) ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdupdate, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@CNTRNO", DbType.String, CTNNO);
db.ExecuteNonQuery(cmdupdate, tran);
}
}
}
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "修改出现错误,请重试或联系系统管理员" + e.Message;
return result;
}
}
result.Message = "上传成功!,共上传" + i.ToString() + "条数据!";
return result;
}
public static DBResult InsertCtnYard(DataTable dt, string userid, string companyid)
{
DBResult result = new DBResult();
var i = 0;
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (dt.Rows.Count > 0)
{
var billNoList = new List<string>();
foreach (DataRow row in dt.Rows)
{
var CTNNO = Convert.ToString(row["箱号"]);
if (!string.IsNullOrEmpty(CTNNO))
{
var INPUTYARDDATE = Convert.ToString(row["进场日期"]);
var YARD = Convert.ToString(row["场站"]);
var strSql = new StringBuilder();
strSql.Append("update op_socctn_ctndetail set MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME ");
if (INPUTYARDDATE != "" && INPUTYARDDATE != null)
strSql.Append(",INPUTYARDDATE=@INPUTYARDDATE");
if (YARD != "" && YARD != null)
strSql.Append(",YARD=@YARD");
strSql.Append(" where CNTRNO=@CNTRNO ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
cmdupdate.Parameters.Clear();
if (INPUTYARDDATE != "" && INPUTYARDDATE != null)
db.AddInParameter(cmdupdate, "@INPUTYARDDATE", DbType.String, INPUTYARDDATE);
if (YARD != "" && YARD != null)
db.AddInParameter(cmdupdate, "@YARD", DbType.String, YARD);
db.AddInParameter(cmdupdate, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdupdate, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@CNTRNO", DbType.String, CTNNO);
db.ExecuteNonQuery(cmdupdate, tran);
var strSql2 = new StringBuilder();
strSql2.Append("update op_socctn_ctndetail set CTNSTATUS=(CASE WHEN ISNULL(RTCTNDATE,'')<>'' THEN '已还箱' ELSE (CASE WHEN ISNULL(BS_BSNO,'')<>'' THEN '使用中' ELSE (CASE WHEN ISNULL(INPUTYARDDATE,'')<>'' THEN '待使用' ELSE '未进场' END) END) END) ");
strSql2.Append(" where CNTRNO=@CNTRNO ");
var cmdupdate2 =
db.GetSqlStringCommand(strSql2.ToString());
cmdupdate2.Parameters.Clear();
db.AddInParameter(cmdupdate2, "@CNTRNO", DbType.String, CTNNO);
db.ExecuteNonQuery(cmdupdate2, tran);
}
}
}
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "修改出现错误,请重试或联系系统管理员" + e.Message;
return result;
}
}
result.Message = "上传成功!,共上传" + i.ToString() + "条数据!";
return result;
}
public static DBResult DeleteOpSocCtnCtnDetail(List<MsOpSocCtnCtnDetail> 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 op_socctn_ctndetail where CTNGID='" + enumValue.CTNGID + "'");
db.ExecuteNonQuery(cmdDelete, tran);
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "删除成功";
return result;
}
public static DBResult AuditOpCtnDetail(List<MsOpSocCtnCtnDetail> headData, string type, string username)
{
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 cmdUpdate = db.GetSqlStringCommand("update op_socctn_ctndetail set AUDITSTATUS='提交审核' where CTNGID='" + enumValue.CTNGID + "'");
if (type == "2")
cmdUpdate = db.GetSqlStringCommand("update op_socctn_ctndetail set AUDITSTATUS='录入状态' where CTNGID='" + enumValue.CTNGID + "'");
if (type == "6")
cmdUpdate = db.GetSqlStringCommand("update op_socctn_ctndetail set AUDITSTATUS='申请修改' where CTNGID='" + enumValue.CTNGID + "'");
db.ExecuteNonQuery(cmdUpdate, tran);
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "提交成功";
return result;
}
#endregion
public static DBResult UpdateOpSocCtnBsCtn(List<MsOpSocCtnCtnDetail> headList,string bsno,string type, string userid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var head in headList)
{
if (type == "1")
{
var strSql = new StringBuilder();
strSql.Append("update op_socctn_ctndetail set BS_BSNO='"+bsno+"' ");
strSql.Append(" where CTNGID=@CTNGID ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@CTNGID", DbType.String, head.CTNGID);
db.ExecuteNonQuery(cmdupdate, tran);
}
else
{
var strSql = new StringBuilder();
strSql.Append("update op_socctn_ctndetail set BS_BSNO='' ");
strSql.Append(" where CTNGID=@CTNGID ");
var cmdupdate =
db.GetSqlStringCommand(strSql.ToString());
cmdupdate.Parameters.Clear();
db.AddInParameter(cmdupdate, "@CTNGID", DbType.String, head.CTNGID);
db.ExecuteNonQuery(cmdupdate, tran);
}
var strSql2 = new StringBuilder();
strSql2.Append("update op_socctn_ctndetail set CTNSTATUS=(CASE WHEN ISNULL(RTCTNDATE,'')<>'' THEN '已还箱' ELSE (CASE WHEN ISNULL(BS_BSNO,'')<>'' THEN '使用中' ELSE (CASE WHEN ISNULL(INPUTYARDDATE,'')<>'' THEN '待使用' ELSE '未进场' END) END) END) ");
strSql2.Append(" where CTNGID=@CTNGID ");
var cmdupdate2 =
db.GetSqlStringCommand(strSql2.ToString());
cmdupdate2.Parameters.Clear();
db.AddInParameter(cmdupdate2, "@CTNGID", DbType.String, head.CTNGID);
db.ExecuteNonQuery(cmdupdate2, tran);
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "更新成功";
return result;
}
public static DBResult UpdateOpSocCtnBs(string bsno)
{
var result = new DBResult();
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
var str = "select CTNALL,COUNT(1) CT FROM op_socctn_ctndetail where BS_BSNO='" + bsno + "' group by CTNALL order by CTNALL";
var ds = T_ALL_DA.GetAllSQL(str);
var strCNTRTOTAL = "";
if (ds != null)
{
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataTable myTable in ds.Tables)
{
foreach (DataRow myRow in myTable.Rows)//遍历表
{
strCNTRTOTAL += myRow["CTNALL"].ToString().Replace("'", "''").Trim() + "*" + myRow["CT"].ToString().Trim() + " ";
}
}
}
}
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var strSql2 = new StringBuilder();
strSql2.Append("update op_socctn_bs set CNTRTOTAL=@CNTRTOTAL ");
strSql2.Append(" where BSNO=@BSNO ");
var cmdupdate2 =
db.GetSqlStringCommand(strSql2.ToString());
cmdupdate2.Parameters.Clear();
db.AddInParameter(cmdupdate2, "@CNTRTOTAL", DbType.String, strCNTRTOTAL);
db.AddInParameter(cmdupdate2, "@BSNO", DbType.String,bsno);
db.ExecuteNonQuery(cmdupdate2, tran);
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "更新出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "更新成功";
return result;
}
#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_socctn_ctndetail ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where ISNULL(BS_BSNO,'')<>'' AND " + 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 EXCEL导入
#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]='modOpOtherList' 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 CREATEUSER='" + userid + "' OR SALE='" + username + "' OR CUSTSERVICE='" + username + "')";
}
else if (visiblerange == "3")
{
str = " (OP='" + username + "' OR CREATEUSER='" + userid + "' OR SALE='" + username + "' OR CUSTSERVICE='" + 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 + "'))"
//+ " OR CREATEUSER in (select GID from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')))";
str = $" exists(select 1 from vw_user where SHOWNAME in(OP,CREATEUSER) and COMPANYID='{companyid}'and DEPTNAME='{deptname}') ";
}
else if (visiblerange == "1")
{
str = " (UPPER(op_other.Corpid)='" + companyid + "' or op_other.SALECORPID='" + 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 = " (op_other.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or op_other.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "' ";
}
else
{
str = str + " or op_other.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or op_other.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else
{
str = " (UPPER(op_other.Corpid)='" + 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 = " (OP in " + opstr + " or CREATEUSER in " + opstr + " or CUSTSERVICE IN " + opstr + " or SALE IN " + opstr + " )";
}
else
{
str = " (UPPER(op_other.Corpid)='" + companyid + "') ";
}
}
else if (visiblerange == "0")
{
str = " 1=1 ";
}
VSSQL = VSSQL.Trim();
if (!string.IsNullOrEmpty(VSSQL))
{
if (!string.IsNullOrEmpty(str))
{
str = str + " and (" + VSSQL + ") ";
}
else
{
str = " (" + VSSQL + ") ";
}
}
return str;
}
#endregion
#region 添加日志
public static DBResult setLog(MsOpSocCtnContract modeldata, string strUserID)
{
DBResult result = new DBResult();
if (modeldata == null)
{
result.Success = false;
result.Message = "没有输入任何需要修改的数据";
return result;
}
//
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('删除信息','删除操作','SOC箱业务 合同号:" + modeldata.CONTRACTNO + "','" + 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
}
}