using System; using System.Data; using System.Data.Common; using System.Collections.Generic; using System.Text; using DSWeb.MvcShipping.Models.MsOpSeaePre; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.EntityDA; using DSWeb.Areas.CommMng.Models; using HcUtility.Comm; using HcUtility.Core; namespace DSWeb.MvcShipping.DAL.MsOpSeaePreDAL { public class MsOpSeaePreDAL { #region Inquery DataList static public List 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; } } // String strSql = "SELECT [BSNO],[MASTERNO],[CUSTOMERNAME],[MBLNO],[CONTRACTNO],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[CLOSEDOCDATE],[ETA]" + ",CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR" + ",(select top 1 showname from [user] where GID=op_seae_pre.CREATEUSER) as CREATEUSER,(select top 1 showname from [user] where GID=op_seae_pre.MODIFIEDUSER) as MODIFIEDUSER" + ",[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[LANE],[CARRIER],[FORWARDER],[BSSTATUS],[CNTRTOTAL],[OP],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],BSLOCK FROM op_seae_pre "; if (!string.IsNullOrEmpty(strCondition)) { strSql += " where " + strCondition; } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql += " order by " + sortstring; } else { strSql += " order by ETD desc"; } return SetData(strSql); } static public string GetDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null) { var rangstr = ""; if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } // String strSql = "SELECT [BSNO],[MASTERNO],[CUSTOMERNAME],[MBLNO],[CONTRACTNO],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[CLOSEDOCDATE],[ETA]" + ",CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR" + ",(select top 1 showname from [user] where GID=op_seae_pre.CREATEUSER) as CREATEUSER,(select top 1 showname from [user] where GID=op_seae_pre.MODIFIEDUSER) as MODIFIEDUSER" + ",[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[LANE],[CARRIER],[FORWARDER],[BSSTATUS],[CNTRTOTAL],[OP],[REMARK],[CREATETIME],[MODIFIEDTIME],BSLOCK FROM op_seae_pre "; if (!string.IsNullOrEmpty(strCondition)) { strSql += " where " + strCondition; } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql += " order by " + sortstring; } else { strSql += " order by ETD desc"; } return strSql.ToString(); } static public MsOpSeaePre GetData(string condition) { String strSql = "SELECT [BSNO],[MASTERNO],[CUSTOMERNAME],[MBLNO],[CONTRACTNO],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[CLOSEDOCDATE],[ETA]" + ",CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR" + ",[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[LANE],[CARRIER],[FORWARDER],[BSSTATUS],[CNTRTOTAL],[OP],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],BSLOCK FROM op_seae_pre "; if (!string.IsNullOrEmpty(condition)) { strSql += " where " + condition; } var list=SetData(strSql); if (list.Count > 0) { return list[0]; } return new MsOpSeaePre(); } static public List GetHisDataList(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],[MASTERNO],[CUSTOMERNAME],[MBLNO],[CONTRACTNO],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[CLOSEDOCDATE],[ETA]" + ",CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR" + ",(select top 1 showname from [user] where GID=op_seae_pre_his.CREATEUSER) as CREATEUSER,(select top 1 showname from [user] where GID=op_seae_pre_his.MODIFIEDUSER) as MODIFIEDUSER" + ",[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[LANE],[CARRIER],[FORWARDER],[BSSTATUS],[CNTRTOTAL],[OP],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],0 BSLOCK FROM op_seae_pre_his "; if (!string.IsNullOrEmpty(strCondition)) { strSql += " where " + strCondition; } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql += " order by " + sortstring; } else { strSql += " order by ETD desc"; } return SetData(strSql); } static public string GetHisDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null) { var rangstr = ""; if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } // String strSql = "SELECT [BSNO],[MASTERNO],[CUSTOMERNAME],[MBLNO],[CONTRACTNO],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[CLOSEDOCDATE],[ETA]" + ",CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR" + ",[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[LANE],[CARRIER],[FORWARDER],[BSSTATUS],[CNTRTOTAL],[OP],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],0 BSLOCK FROM op_seae_pre_his "; if (!string.IsNullOrEmpty(strCondition)) { strSql += " where " + strCondition; } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql += " order by " + sortstring; } else { strSql += " order by ETD desc"; } return strSql.ToString(); } static public MsOpSeaePre GetHisData(string condition) { String strSql = "SELECT [BSNO],[MASTERNO],[CUSTOMERNAME],[MBLNO],[CONTRACTNO],[VESSEL],[VOYNO],[ETD],[CLOSINGDATE],[CLOSEDOCDATE],[ETA]" + ",CNTR1,CNTR2,CNTR3,CNTR4,CNTR5,CNTR6,CNTR7,CNTR8,CNTR9,CNTR10,OTCNTR" + ",[PORTLOADID],[PORTLOAD],[PORTDISCHARGEID],[PORTDISCHARGE],[LANE],[CARRIER],[FORWARDER],[BSSTATUS],[CNTRTOTAL],[OP],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],0 BSLOCK FROM op_seae_pre_his "; if (!string.IsNullOrEmpty(condition)) { strSql += " where " + condition; } var list = SetData(strSql); if (list.Count > 0) { return list[0]; } return new MsOpSeaePre(); } private static List SetData(String strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { MsOpSeaePre data = new MsOpSeaePre(); #region Set DB data to Object data.BSNO = Convert.ToString(reader["BSNO"]); data.MASTERNO = Convert.ToString(reader["MASTERNO"]); data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]); data.MBLNO = Convert.ToString(reader["MBLNO"]); data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]); data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]); data.VESSEL = Convert.ToString(reader["VESSEL"]); data.VOYNO = Convert.ToString(reader["VOYNO"]); 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.PORTLOADID = Convert.ToString(reader["PORTLOADID"]); data.PORTDISCHARGEID = Convert.ToString(reader["PORTDISCHARGEID"]); data.LANE = Convert.ToString(reader["LANE"]); data.CARRIER = Convert.ToString(reader["CARRIER"]); data.FORWARDER = Convert.ToString(reader["FORWARDER"]); data.BSSTATUS = Convert.ToString(reader["BSSTATUS"]); data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]); data.OP = Convert.ToString(reader["OP"]); data.REMARK = Convert.ToString(reader["REMARK"]); data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]); if (reader["CREATETIME"] != DBNull.Value) data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]); data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]); if (reader["MODIFIEDTIME"] != DBNull.Value) data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]); if (reader["CLOSINGDATE"] != DBNull.Value) data.CLOSINGDATE = Convert.ToDateTime(reader["CLOSINGDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期 if (reader["CLOSEDOCDATE"] != DBNull.Value) data.CLOSEDOCDATE = Convert.ToDateTime(reader["CLOSEDOCDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期 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 (!string.IsNullOrEmpty(data.ETD) && (data.BSSTATUS == "船公司已放舱未使用")) { if ((Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")).AddDays(2))>=(Convert.ToDateTime(data.ETD))) { data.LISTSTATUS = "1"; } } else data.LISTSTATUS = "0"; if (reader["BSLOCK"] != DBNull.Value) data.BSLOCK = Convert.ToBoolean(reader["BSLOCK"]);//箱型3 #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 批量修改 public static DBResult UnBsLock(List bodyList, string companyid) { var result = new DBResult(); string errstr = ""; 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_seae_pre set BSLOCK=0 "); strSql.Append(" where BSNO=@BSNO "); var cmdupdate = db.GetSqlStringCommand(strSql.ToString()); if (bodyList != null) { foreach (var enumValue in bodyList) { cmdupdate.Parameters.Clear(); 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 = "取消锁定成功"; return result; } public static DBResult Modify(List bodyList, MsOpSeaePre modifydata, string companyid) { var result = new DBResult(); string errstr = ""; 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_seae_pre set bsno=bsno "); if (modifydata.CARRIER != "" && modifydata.CARRIER != null) strSql.Append(",CARRIER=@CARRIER"); if (modifydata.FORWARDER != "" && modifydata.FORWARDER != null) strSql.Append(",FORWARDER=@FORWARDER"); if (modifydata.CUSTOMERNAME != "" && modifydata.CUSTOMERNAME != null) strSql.Append(",CUSTOMERNAME=@CUSTOMERNAME"); if (modifydata.LANE != "" && modifydata.LANE != null) strSql.Append(",LANE=@LANE"); if (modifydata.PORTLOAD != "" && modifydata.PORTLOAD != null) strSql.Append(",PORTLOAD=@PORTLOAD"); if (modifydata.PORTDISCHARGE != "" && modifydata.PORTDISCHARGE != null) strSql.Append(",PORTDISCHARGE=@PORTDISCHARGE"); if (modifydata.VESSEL != "" && modifydata.VESSEL != null) strSql.Append(",VESSEL=@VESSEL"); if (modifydata.VOYNO != "" && modifydata.VOYNO != null) strSql.Append(",VOYNO=@VOYNO"); if (modifydata.ETD != "" && modifydata.ETD != null) { strSql.Append(",ETD=@ETD"); } if (modifydata.CLOSINGDATE != "" && modifydata.CLOSINGDATE != null) strSql.Append(",CLOSINGDATE=@CLOSINGDATE"); if (modifydata.CLOSEDOCDATE != "" && modifydata.CLOSEDOCDATE != null) strSql.Append(",CLOSEDOCDATE=@CLOSEDOCDATE"); strSql.Append(" where BSNO=@BSNO "); var cmdupdate = db.GetSqlStringCommand(strSql.ToString()); if (bodyList != null) { foreach (var enumValue in bodyList) { var opseae = GetData("BSNO='" + enumValue.BSNO + "'"); var isPost = true; //if (opseae.BSSTATUS) //{ // if (errstr == "") // errstr = enumValue.CUSTNO + "此票所在业务已业务锁定"; // else // errstr = errstr + "," + enumValue.CUSTNO + "此票所在业务已业务锁定"; // isPost = false; //} //if (!string.IsNullOrEmpty(opseae.ETD) && !string.IsNullOrEmpty(modifydata.CLOSINGDATE)) //{ // if (Convert.ToDateTime(opseae.ETD + " 23:59:59") < Convert.ToDateTime(modifydata.CLOSINGDATE)) // { // isPost = false; // errstr = errstr + "," + "截港日期不允许大于开船日期"; // } //} //if (!string.IsNullOrEmpty(opseae.ETD) && !string.IsNullOrEmpty(modifydata.CLOSEDOCDATE)) //{ // if (Convert.ToDateTime(opseae.ETD + " 23:59:59") < Convert.ToDateTime(modifydata.CLOSEDOCDATE)) // { // isPost = false; // errstr = errstr + "," + "截单日期不允许大于开船日期"; // } //} if (isPost) { cmdupdate.Parameters.Clear(); if (modifydata.CARRIER != "" && modifydata.CARRIER != null) db.AddInParameter(cmdupdate, "@CARRIER", DbType.String, modifydata.CARRIER); if (modifydata.FORWARDER != "" && modifydata.FORWARDER != null) db.AddInParameter(cmdupdate, "@FORWARDER", DbType.String, modifydata.FORWARDER); if (modifydata.CUSTOMERNAME != "" && modifydata.CUSTOMERNAME != null) db.AddInParameter(cmdupdate, "@CUSTOMERNAME", DbType.String, modifydata.CUSTOMERNAME); if (modifydata.LANE != "" && modifydata.LANE != null) db.AddInParameter(cmdupdate, "@LANE", DbType.String, modifydata.LANE); if (modifydata.PORTLOAD != "" && modifydata.PORTLOAD != null) db.AddInParameter(cmdupdate, "@PORTLOAD", DbType.String, modifydata.PORTLOAD); if (modifydata.PORTDISCHARGE != "" && modifydata.PORTDISCHARGE != null) db.AddInParameter(cmdupdate, "@PORTDISCHARGE", DbType.String, modifydata.PORTDISCHARGE); if (modifydata.VESSEL != "" && modifydata.VESSEL != null) db.AddInParameter(cmdupdate, "@VESSEL", DbType.String, modifydata.VESSEL); if (modifydata.VOYNO != "" && modifydata.VOYNO != null) db.AddInParameter(cmdupdate, "@VOYNO", DbType.String, modifydata.VOYNO); if (modifydata.ETD != "" && modifydata.ETD != null) { db.AddInParameter(cmdupdate, "@ETD", DbType.String, modifydata.ETD); } if (modifydata.CLOSINGDATE != "" && modifydata.CLOSINGDATE != null) db.AddInParameter(cmdupdate, "@CLOSINGDATE", DbType.String, modifydata.CLOSINGDATE); if (modifydata.CLOSEDOCDATE != "" && modifydata.CLOSEDOCDATE != null) db.AddInParameter(cmdupdate, "@CLOSEDOCDATE", DbType.String, modifydata.CLOSEDOCDATE); db.AddInParameter(cmdupdate, "@BSNO", DbType.String, enumValue.BSNO); db.ExecuteNonQuery(cmdupdate, tran); i = i + 1; } } } tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "修改出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "修改成功" + i.ToString() + "票"; if (errstr != "") { result.Message = result.Message + "(其中" + errstr + " 无法修改)"; } return result; } public static DBResult ShenModify(MsOpSeaePre oldData, MsOpSeaePre newdata,string userid,string companyid,string rq) { var result = new DBResult(); var headData = newdata; headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; // headData.MODIFIEDUSER =userid;//最后一次操作人 headData.MODIFIEDTIME = DateTime.Parse(rq);//最后一次操作时间 var ctndataList = MsCodeOpServiceDAL.MsCodeOpServiceDAL.GetDataCtnList("OPTYPE='1'"); var ctnstr = ""; if (headData.CNTR1 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR1") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR1.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR1.ToString(); } } } if (headData.CNTR2 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR2") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR2.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR2.ToString(); } } } if (headData.CNTR3 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR3") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR3.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR3.ToString(); } } } if (headData.CNTR4 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR4") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR4.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR4.ToString(); } } } if (headData.CNTR5 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR5") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR5.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR5.ToString(); } } } if (headData.CNTR6 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR6") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR6.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR6.ToString(); } } } if (headData.CNTR7 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR7") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR7.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR7.ToString(); } } } if (headData.CNTR8 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR8") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR8.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR8.ToString(); } } } if (headData.CNTR9 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR9") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR9.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR9.ToString(); } } } if (headData.CNTR10 != 0) { foreach (var ctncode in ctndataList) { if (ctncode.OPTYPE == "" && ctncode.OPField == "CNTR10") { if (string.IsNullOrEmpty(ctnstr)) ctnstr = ctnstr + ctncode.SERVICENAME + "*" + headData.CNTR10.ToString(); else ctnstr = ctnstr + " " + ctncode.SERVICENAME + "*" + headData.CNTR10.ToString(); } } } headData.CNTRTOTAL = ctnstr; if (headData.ETD == "") headData.ETD = null; if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null; if (headData.CLOSEDOCDATE == "") headData.CLOSEDOCDATE = null; var modb = new ModelObjectDB(); result = modb.Save(headData); if (result.Success) { var oldhis = new MsOpSeaePreHis(); oldhis.DbOperationType = DbOperationType.DbotIns; oldhis.MASTERNO = headData.BSNO; oldhis.LOSTNO = oldhis.BSNO; oldhis.TYPE = 1; oldhis.MODIFIEDUSER = userid;//最后一次操作人 oldhis.MODIFIEDTIME = DateTime.Parse(rq);//最后一次操作时间 oldhis.BSSTATUS = oldData.BSSTATUS; oldhis.CUSTOMERNAME = oldData.CUSTOMERNAME; oldhis.MBLNO = oldData.MBLNO; oldhis.CONTRACTNO = oldData.CONTRACTNO; oldhis.VESSEL = oldData.VESSEL; oldhis.VOYNO = oldData.VOYNO; oldhis.ETD = oldData.ETD; oldhis.CLOSINGDATE = oldData.CLOSINGDATE; oldhis.CLOSEDOCDATE = oldData.CLOSEDOCDATE; oldhis.PORTLOAD = oldData.PORTLOAD; oldhis.PORTDISCHARGE = oldData.PORTDISCHARGE; oldhis.LANE = oldData.LANE; oldhis.CARRIER = oldData.CARRIER; oldhis.FORWARDER = oldData.FORWARDER; oldhis.OP = oldData.OP; oldhis.REMARK = oldData.REMARK; oldhis.CNTR1 = oldData.CNTR1; oldhis.CNTR2 = oldData.CNTR2; oldhis.CNTR3 = oldData.CNTR3; oldhis.CNTR4 = oldData.CNTR4; oldhis.CNTR5 = oldData.CNTR5; oldhis.CNTR6 = oldData.CNTR6; oldhis.CNTR7 = oldData.CNTR7; oldhis.CNTR8 = oldData.CNTR8; oldhis.CNTR9 = oldData.CNTR9; oldhis.CNTR10 = oldData.CNTR10; if (oldhis.ETD == "") oldhis.ETD = null; if (oldhis.CLOSINGDATE == "") oldhis.CLOSINGDATE = null; if (oldhis.CLOSEDOCDATE == "") oldhis.CLOSEDOCDATE = null; modb.Save(oldhis); var newhis = new MsOpSeaePreHis(); newhis.DbOperationType = DbOperationType.DbotIns; newhis.MASTERNO = headData.BSNO; newhis.LOSTNO = oldhis.BSNO; newhis.TYPE = 2; newhis.MODIFIEDUSER = userid;//最后一次操作人 newhis.MODIFIEDTIME = DateTime.Parse(rq);//最后一次操作时间 newhis.BSSTATUS = newdata.BSSTATUS; newhis.CUSTOMERNAME = newdata.CUSTOMERNAME; newhis.MBLNO = newdata.MBLNO; newhis.CONTRACTNO = newdata.CONTRACTNO; newhis.VESSEL = newdata.VESSEL; newhis.VOYNO = newdata.VOYNO; newhis.ETD = newdata.ETD; newhis.CLOSINGDATE = newdata.CLOSINGDATE; newhis.CLOSEDOCDATE = newdata.CLOSEDOCDATE; newhis.PORTLOAD = newdata.PORTLOAD; newhis.PORTDISCHARGE = newdata.PORTDISCHARGE; newhis.LANE = newdata.LANE; newhis.CARRIER = newdata.CARRIER; newhis.FORWARDER = newdata.FORWARDER; newhis.OP = newdata.OP; newhis.REMARK = newdata.REMARK; newhis.CNTR1 = newdata.CNTR1; newhis.CNTR2 = newdata.CNTR2; newhis.CNTR3 = newdata.CNTR3; newhis.CNTR4 = newdata.CNTR4; newhis.CNTR5 = newdata.CNTR5; newhis.CNTR6 = newdata.CNTR6; newhis.CNTR7 = newdata.CNTR7; newhis.CNTR8 = newdata.CNTR8; newhis.CNTR9 = newdata.CNTR9; newhis.CNTR10 = newdata.CNTR10; if (newhis.ETD == "") newhis.ETD = null; if (newhis.CLOSINGDATE == "") newhis.CLOSINGDATE = null; if (newhis.CLOSEDOCDATE == "") newhis.CLOSEDOCDATE = null; modb.Save(newhis); } 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_other "); 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 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"); 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 = ""; 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"]); 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 + "')))"; } 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 "; } return str; } #endregion } }