using System; using System.Data; using System.Collections.Generic; using System.Text; using DSWeb.MvcContainer.Models.MsOpCtnTkFitings; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.Areas.CommMng.Models; using HcUtility.Comm; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using DSWeb.EntityDA; using DSWeb.Areas.CommMng.DAL; using DSWeb.MvcContainer.DAL.MsOpCtnBsCard; using DSWeb.MvcContainer.Models.MsOpCtnBsCard; namespace DSWeb.MvcContainer.DAL.MsOpCtnTkFitings { public class MsOpCtnTkFitingsDAL { #region Inquery DataList static public List GetDataList(string strCondition,string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,BSNO,CUSTOMERNAME,OPTYPE,OPDATE,OPDATE2,BSSTATUS,YARD,DESTYARD,REMARK,CREATEUSER,CREATETIME"); strSql.Append(",MODIFIEDUSER,SUBMITUSER,SUBMITTIME,MODIFIEDTIME,AUDITUSER,AUDITTIME,REASON "); 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(",(select ShowName from [user] where GID=b.SUBMITUSER) as SUBMITUSERREF"); strSql.Append(",(select ShowName from [user] where GID=b.AUDITUSER) as AUDITUSERREF"); strSql.Append(" from op_ctntkFiting b "); 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 SetData(strSql); } static public List GetAuditDataList(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT b.GID,b.BSNO,b.CUSTOMERNAME,b.OPTYPE,b.OPDATE,b.OPDATE2,b.BSSTATUS,b.YARD,b.DESTYARD,b.REMARK,b.CREATEUSER,b.CREATETIME"); strSql.Append(",b.MODIFIEDUSER,b.SUBMITUSER,b.SUBMITTIME,b.MODIFIEDTIME,b.AUDITUSER,b.AUDITTIME,b.REASON "); 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(",(select ShowName from [user] where GID=b.SUBMITUSER) as SUBMITUSERREF"); strSql.Append(",(select ShowName from [user] where GID=b.AUDITUSER) as AUDITUSERREF"); strSql.Append(" from op_ctntkFiting b left join workflow_using wu on wu.bsno=b.GID "); 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 b.CREATETIME DESC "); } return SetData(strSql); } static public string GetDataListStr(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,BSNO,CUSTOMERNAME,OPTYPE,OPDATE,OPDATE2,BSSTATUS,YARD,DESTYARD,REMARK,CREATEUSER,CREATETIME"); strSql.Append(",MODIFIEDUSER,SUBMITUSER,SUBMITTIME,MODIFIEDTIME,AUDITUSER,AUDITTIME,REASON "); 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(",(select ShowName from [user] where GID=b.SUBMITUSER) as SUBMITUSERREF"); strSql.Append(",(select ShowName from [user] where GID=b.AUDITUSER) as AUDITUSERREF"); strSql.Append(" from op_ctntkFiting b "); 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 strSql.ToString(); } static public OpCtnTkFitings GetData(string condition) { OpCtnTkFitings data = null; var list = GetDataList(condition); if (list.Count > 0) data = list[0]; if (data == null) { data = new OpCtnTkFitings(); //data.COMPANYID = companyid; } return data; } static public OpCtnTkFitings GetData(string condition,string userid) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,BSNO,CUSTOMERNAME,OPTYPE,OPDATE,OPDATE2,BSSTATUS,YARD,DESTYARD,REMARK,CREATEUSER,CREATETIME"); strSql.Append(",MODIFIEDUSER,SUBMITUSER,SUBMITTIME,MODIFIEDTIME,AUDITUSER,AUDITTIME,REASON "); 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(",(select ShowName from [user] where GID=b.SUBMITUSER) as SUBMITUSERREF"); strSql.Append(",(select ShowName from [user] where GID=b.AUDITUSER) as AUDITUSERREF"); strSql.Append(" from op_ctntkFiting b "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" where " + condition); } var list = SetData(strSql); if (list.Count > 0) return list[0]; return new OpCtnTkFitings(); } private static List SetData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { OpCtnTkFitings data = new OpCtnTkFitings(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.BSNO = Convert.ToString(reader["BSNO"]); data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]); data.BSSTATUS = Convert.ToString(reader["BSSTATUS"]); data.OPTYPE = Convert.ToString(reader["OPTYPE"]); if (reader["OPDATE"] != DBNull.Value) data.OPDATE = Convert.ToDateTime(reader["OPDATE"]).ToString("yyyy-MM-dd"); if (reader["OPDATE2"] != DBNull.Value) data.OPDATE2 = Convert.ToDateTime(reader["OPDATE2"]).ToString("yyyy-MM-dd"); data.YARD = Convert.ToString(reader["YARD"]); data.DESTYARD = Convert.ToString(reader["DESTYARD"]); 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"]); data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]); if (reader["MODIFIEDTIME"] != DBNull.Value) data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); data.SUBMITUSER = Convert.ToString(reader["SUBMITUSER"]); data.SUBMITUSERREF = Convert.ToString(reader["SUBMITUSERREF"]); if (reader["SUBMITTIME"] != DBNull.Value) data.SUBMITTIME = Convert.ToDateTime(reader["SUBMITTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); data.AUDITUSER = Convert.ToString(reader["AUDITUSER"]); data.AUDITUSERREF = Convert.ToString(reader["AUDITUSERREF"]); if (reader["AUDITTIME"] != DBNull.Value) data.AUDITTIME = Convert.ToDateTime(reader["AUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); data.REASON = Convert.ToString(reader["REASON"]); #endregion headList.Add(data); } reader.Close(); } return headList; } public static DBResult SubmitAuditBillNew(OpCtnTkFitings head, string userid) { var result = new DBResult(); result.Success = true; var msg = ""; Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { if (head.OPTYPE == "采购") { var _Comm = "update op_ctntkFiting set BSSTATUS='锁定' where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmdupdate, tran); result.Message2 = "1"; } else if (head.OPTYPE == "调拨"|| head.OPTYPE == "报损") { var tmpWorkFlowName = "CtnTkFitingsDb"; if (head.OPTYPE == "报损") tmpWorkFlowName = "CtnTkFitingsBs"; Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(tmpWorkFlowName, head.GID, userid, head.BSNO, "", "",""); if (WorkResult.Success == true) { if (WorkResult.islast == true) { if (head.OPTYPE == "报损") { var _Comm = "update op_ctntkFiting set BSSTATUS='确认报损',SUBMITUSER='" + userid + "',SUBMITTIME=GETDATE(),AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmdupdate, tran); } else { var _Comm = "update op_ctntkFiting set BSSTATUS='确认调拨',SUBMITUSER='" + userid + "',SUBMITTIME=GETDATE(),AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmdupdate, tran); } result.Message2 = "1"; } else { if (head.OPTYPE == "报损") { var _Comm = "update op_ctntkFiting set BSSTATUS='提交报损',SUBMITUSER='"+userid+ "',SUBMITTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmdupdate, tran); } else { var _Comm = "update op_ctntkFiting set BSSTATUS='提交调拨',SUBMITUSER='" + userid + "',SUBMITTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmdupdate, tran); } } } else { result.Success = false; result.Message = "提交审核错误!"; } } result.Success = true; result.Message = "提交审核成功"; result.Data = msg; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "提交审核错误,请重试或联系系统管理员"; return result; } } return result; } public static DBResult CancelAuditBill(OpCtnTkFitings head, String USERID) { var result = new DBResult(); var WorkFlowName = "PriceProjectAudit"; Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdupdate = db.GetSqlStringCommand("update op_ctntkFiting set BSSTATUS='未提交' where GID=@GID"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmdupdate, tran); var cmduDelete = db.GetSqlStringCommand("delete from op_ctntkFiting_detail where LINKGID IN (SELECT GID FROM op_ctntkFiting_body where LINKGID=@GID)"); cmduDelete.Parameters.Clear(); db.AddInParameter(cmduDelete, "@GID", DbType.String, head.GID); db.ExecuteNonQuery(cmduDelete, tran); //var saleid = ""; // if (saleid == "") saleid = USERID; // Resultmb WorkResult = WorkFlowDAL.WorkFlowReset(WorkFlowName, GID, saleid); // if (WorkResult.Success == true) // { // var cmdupdate = db.GetSqlStringCommand("update op_price set BSSTATUS='未提交',AUDITOPERATOR='',AUDITDATE=null where GID=@GID"); // cmdupdate.Parameters.Clear(); // db.AddInParameter(cmdupdate, "@GID", DbType.String, GID); // db.ExecuteNonQuery(cmdupdate, tran); // } // else // { // result.Success = false; // result.Message = "撤销提交错误!"; // } result = new DBResult(); result.Success = true; result.Message = "撤销提交成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "撤销提交错误,请重试或联系系统管理员"; return result; } } return result; } public static DBResult AuditBillList(List billList, string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); try { foreach (var bill in billList) { var WorkFlowName = "CtnTkFitingsDb"; if (bill.OPTYPE == "报损") WorkFlowName = "CtnTkFitingsBs"; var tran = conn.BeginTransaction(); Resultmb WorkResult = WorkFlowDAL.InsertWorkFlowDo(WorkFlowName, bill.GID, userid, tran, "", bill.GID, ""); if (WorkResult.Success == true) { try { if (WorkResult.islast == true) { if (bill.OPTYPE == "报损") { var _Comm = "update op_ctntkFiting set BSSTATUS='确认报损',AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmdupdate, tran); bill.BSSTATUS = "确认报损"; } else { var _Comm = "update op_ctntkFiting set BSSTATUS='确认调拨',AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmdupdate, tran); bill.BSSTATUS = "确认调拨"; } result.Message2 = "1"; } else { var cmdupdate = db.GetSqlStringCommand("update op_ctntkFiting set AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where GID=@GID"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmdupdate, tran); } } catch (Exception e) { result.Success = false; result.Message = "审核错误!<" + WorkResult.Message + ">"; tran.Rollback(); } if (bill.BSSTATUS == "确认报损" || bill.BSSTATUS == "确认调拨") { SaveCgFitingsDetail(bill, bill.OPTYPE,userid); UpdateFitingsKc(); } result = new DBResult(); result.Success = true; result.Message = "审核成功"; tran.Commit(); } else { result.Success = false; result.Message = "审核错误!<" + WorkResult.Message + ">"; tran.Rollback(); //return result; } //} } } catch (Exception e) { //tran.Rollback(); result.Success = false; result.Message = "审核错误<" + e.Message + ">,请重试或联系系统管理员"; return result; } } return result; } public static DBResult AuditBillDbOverList(List billList,string OPDATE2,string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); try { foreach (var bill in billList) { var tran = conn.BeginTransaction(); var _Comm = "update op_ctntkFiting set BSSTATUS='调拨完成', OPDATE2='"+OPDATE2+"',MODIFIEDUSER='" + userid + "',MODIFIEDTIME=GETDATE() where GID=@GID"; var cmdupdate = db.GetSqlStringCommand(_Comm); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmdupdate, tran); bill.BSSTATUS = "调拨完成"; result.Success = true; result.Message = "调拨完成"; tran.Commit(); SaveCgFitingsDetail(bill,"调入", userid); UpdateFitingsKc(); //} } } catch (Exception e) { //tran.Rollback(); result.Success = false; result.Message = "审核错误<" + e.Message + ">,请重试或联系系统管理员"; return result; } } return result; } public static DBResult AuditBillBack(List billList, String USERID, string reasean, string companyid) { var result = new DBResult(); var i = 0; T_ALL_DA T_ALL_DA = new T_ALL_DA(); var mblno = ""; result.Success = true; Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var bill in billList) { Resultmb WorkResult = null; var WorkFlowName = "CtnTkFitingsDb"; if (bill.OPTYPE == "报损") WorkFlowName = "CtnTkFitingsBs"; var BLCOUNT = T_ALL_DA.GetStrSQL("BLCOUNT", "select count(*) BLCOUNT from workflow_using WHERE BSNO='" + bill.GID + "'"); if (BLCOUNT != "0") { WorkResult = WorkFlowDAL.DeleteWorkFlowDo(WorkFlowName, bill.GID, USERID, reasean, mblno, bill.GID, "", ""); } if (BLCOUNT == "0" || WorkResult.Success == true) { var cmdupdate = db.GetSqlStringCommand("update op_ctntkFiting set BSSTATUS='驳回提交',REASON='" + reasean + "' where GID=@GID"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmdupdate, tran); var cmduDelete = db.GetSqlStringCommand("delete from op_ctntkFiting_detail where LINKGID IN (SELECT GID FROM op_ctntkFiting_body where LINKGID=@GID)"); cmduDelete.Parameters.Clear(); db.AddInParameter(cmduDelete, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmduDelete, tran); result.Message2 = "1"; } else { i = i + 1; result.Success = WorkResult.Success; result.Message = WorkResult.Message; } } if (result.Success == true) { result.Success = true; result.Message = "驳回提交成功"; tran.Commit(); } else { result.Success = true; result.Message = "驳回完成,其中" + i.ToString() + "票驳回错误,错误信息" + result.Message; tran.Commit(); } } catch (Exception e) { tran.Rollback(); result.Success = false; result.Message = "驳回提交错误,请重试或联系系统管理员" + e.Message; return result; } } return result; } public static DBResult SetStop(List billList,string userid,string isstop) { var result = new DBResult(); var i = 0; var mblno = ""; result.Success = true; Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var bill in billList) { var cmdupdate = db.GetSqlStringCommand("update op_price set ISSTOP='"+ isstop + "' where GID=@GID"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, bill.GID); db.ExecuteNonQuery(cmdupdate, tran); } if (result.Success == true) { result = new DBResult(); result.Success = true; result.Message = "提交成功"; tran.Commit(); } else { result.Success = true; result.Message = "完成,其中" + i.ToString() + "票驳回错误,错误信息" + result.Message; tran.Commit(); } } catch (Exception e) { tran.Rollback(); result.Success = false; result.Message = "提交错误,请重试或联系系统管理员" + e.Message; return result; } } return result; } public static DBResult DeleteOpCtnTkFitings(List 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_ctntkFiting 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; } public static bool GetBodyCount(string BSNO) { var isfee = false; var strSql = new StringBuilder(); strSql.Append("Select count(*) as count "); strSql.Append(" from op_ctntkFiting_body "); strSql.Append(" where LINKGID='" + BSNO + "'"); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { var evData = Convert.ToInt32(reader["count"]); if (evData > 0) { isfee = true; }; } reader.Close(); } return isfee; } #endregion #region FitingsDetail static public List GetFitingsDetailList(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[CTNGID],[CTNNO],[MODEL]"); strSql.Append(",[WMSTYPE],[OPDATE],[YARD],[PKGS],[NPKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_detail.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_detail.MODIFIEDUSER) as MODIFIEDUSERREF"); strSql.Append(" from op_ctntkFiting_detail "); 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 SetFitingsDetailData(strSql); } static public string GetFitingsDetailListStr(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[CTNGID],[CTNNO],[MODEL]"); strSql.Append(",[WMSTYPE],[OPDATE],[YARD],[PKGS],[NPKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_detail.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_detail.MODIFIEDUSER) as MODIFIEDUSERREF"); strSql.Append(" from op_ctntkFiting_detail "); 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 strSql.ToString(); } static public OpCtnTkFitingsDetail GetOpFitingsDetailData(string condition, string userid) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[CTNGID],[CTNNO],[MODEL]"); strSql.Append(",[WMSTYPE],[OPDATE],[YARD],[PKGS],[NPKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_detail.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_detail.MODIFIEDUSER) as MODIFIEDUSERREF"); strSql.Append(" from op_ctntkFiting_detail "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" where " + condition); } var list = SetFitingsDetailData(strSql); if (list.Count > 0) return list[0]; return new OpCtnTkFitingsDetail(); } private static List SetFitingsDetailData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { OpCtnTkFitingsDetail data = new OpCtnTkFitingsDetail(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.LINKGID = Convert.ToString(reader["LINKGID"]); data.FITINGGID = Convert.ToString(reader["FITINGGID"]); data.FITINGCODE = Convert.ToString(reader["FITINGCODE"]); data.FITINGNAME = Convert.ToString(reader["FITINGNAME"]); data.CTNGID = Convert.ToString(reader["CTNGID"]); data.CTNNO = Convert.ToString(reader["CTNNO"]); data.MODEL = Convert.ToString(reader["MODEL"]); if (reader["PKGS"] != DBNull.Value) data.PKGS = Convert.ToDecimal(reader["PKGS"]); if (reader["NPKGS"] != DBNull.Value) data.NPKGS = Convert.ToDecimal(reader["NPKGS"]); data.WMSTYPE = Convert.ToString(reader["WMSTYPE"]); if (reader["OPDATE"] != DBNull.Value) data.OPDATE = Convert.ToDateTime(reader["OPDATE"]).ToString("yyyy-MM-dd"); data.YARD = Convert.ToString(reader["YARD"]); 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"]); data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]); if (reader["MODIFIEDTIME"] != DBNull.Value) data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); #endregion headList.Add(data); } reader.Close(); } return headList; } public static DBResult SaveCgFitingsDetail(OpCtnTkFitings HeadData,string OPTYPE,string userid) { var result = new DBResult(); var bodyList = GetFitingsBodyList("LINKGID='"+HeadData.GID+"'",OPTYPE); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdInsert = db.GetSqlStringCommand( @"insert into op_ctntkFiting_detail (GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[CTNGID],[CTNNO],[MODEL] ,[WMSTYPE],[OPDATE],[YARD],[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]) values (@GID,@LINKGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@CTNGID,@CTNNO,@MODEL ,@WMSTYPE,@OPDATE,@YARD,@PKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME) "); var cmdUpdate = db.GetSqlStringCommand( @"update op_ctntkFiting_detail set FITINGGID=@FITINGGID,FITINGCODE=@FITINGCODE,FITINGNAME=@FITINGNAME,CTNGID=@CTNGID,CTNNO=@CTNNO,MODEL=@MODEL, WMSTYPE=@WMSTYPE,OPDATE=@OPDATE,YARD=@YARD,PKGS=@PKGS,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME where GID=@GID "); if (bodyList != null) { foreach (var enumValue in bodyList) { if (string.IsNullOrEmpty(enumValue.DETAILGID)) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, enumValue.GID); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@CTNGID", DbType.String,""); db.AddInParameter(cmdInsert, "@CTNNO", DbType.String,""); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@WMSTYPE", DbType.String, OPTYPE); if (string.IsNullOrEmpty(HeadData.OPDATE)) db.AddInParameter(cmdInsert, "@OPDATE", DbType.String, null); else db.AddInParameter(cmdInsert, "@OPDATE", DbType.String, HeadData.OPDATE); if (HeadData.BSSTATUS == "调拨完成") db.AddInParameter(cmdInsert, "@YARD", DbType.String, HeadData.DESTYARD); else db.AddInParameter(cmdInsert, "@YARD", DbType.String, HeadData.YARD); if (HeadData.OPTYPE=="采购"|| (HeadData.OPTYPE == "调拨"&&HeadData.BSSTATUS=="调拨完成")) db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); else db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, -enumValue.PKGS); 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, "@GID", DbType.String, enumValue.DETAILGID); db.AddInParameter(cmdUpdate, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdUpdate, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdUpdate, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdUpdate, "@CTNGID", DbType.String, ""); db.AddInParameter(cmdUpdate, "@CTNNO", DbType.String,""); db.AddInParameter(cmdUpdate, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdUpdate, "@WMSTYPE", DbType.String, OPTYPE); if (string.IsNullOrEmpty(HeadData.OPDATE)) db.AddInParameter(cmdUpdate, "@OPDATE", DbType.String, null); else db.AddInParameter(cmdUpdate, "@OPDATE", DbType.String, HeadData.OPDATE); if (HeadData.BSSTATUS == "调拨完成") db.AddInParameter(cmdUpdate, "@YARD", DbType.String, HeadData.DESTYARD); else db.AddInParameter(cmdUpdate, "@YARD", DbType.String, HeadData.YARD); if (HeadData.OPTYPE == "采购" || HeadData.BSSTATUS == "调拨完成") db.AddInParameter(cmdUpdate, "@PKGS", DbType.Decimal, enumValue.PKGS); else db.AddInParameter(cmdUpdate, "@PKGS", DbType.Decimal, -enumValue.PKGS); 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); } } } 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 SaveFitingsDetail(OpCtnBsCard opctnbscard, List bodyList, string LINKGID, string userid) { var result = new DBResult(); var CtnKcList = GetFitingsCtnKcList("F.CTNGID='" + opctnbscard.CTNGID + "'"); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdInsert = db.GetSqlStringCommand( @"insert into op_ctntkFiting_detail (GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[CTNGID],[CTNNO],[MODEL] ,[WMSTYPE],[OPDATE],[YARD],[PKGS],[NPKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]) values (@GID,@LINKGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@CTNGID,@CTNNO,@MODEL ,@WMSTYPE,@OPDATE,@YARD,@PKGS,@NPKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME) "); // var cmdInsertCtnFitings = //db.GetSqlStringCommand( // @"insert into code_ctntk_Fiting (GID,[LINKGID],BODYGID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] // ,[OPDATE],[YARD],[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]) // values (@GID,@LINKGID,@BODYGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL // ,@OPDATE,@YARD,@PKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME) "); if (bodyList != null) { foreach (var enumValue in bodyList) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, LINKGID); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@CTNGID", DbType.String, opctnbscard.CTNGID); db.AddInParameter(cmdInsert, "@CTNNO", DbType.String, opctnbscard.CTNNO); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@WMSTYPE", DbType.String, enumValue.WMSTYPE); db.AddInParameter(cmdInsert, "@OPDATE", DbType.String, enumValue.OPDATE); db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD); if (enumValue.WMSTYPE == "拆") db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); else if (enumValue.WMSTYPE == "装") db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, -enumValue.PKGS); else if (enumValue.WMSTYPE == "损坏") db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, 0); db.AddInParameter(cmdInsert, "@NPKGS", DbType.Decimal, enumValue.PKGS); 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); var ctnkc = CtnKcList.Find(x => x.FITINGGID == enumValue.FITINGGID); if (ctnkc != null) { if (enumValue.WMSTYPE == "拆") ctnkc.PKGS = ctnkc.PKGS-enumValue.PKGS; else if (enumValue.WMSTYPE == "装") ctnkc.PKGS = ctnkc.PKGS+enumValue.PKGS; else if (enumValue.WMSTYPE == "损坏") ctnkc.PKGS = ctnkc.PKGS - enumValue.PKGS; } else { var newctnck = new OpCtnTkFitingsDetail(); newctnck.GID = "*"; newctnck.CTNGID = opctnbscard.CTNGID; newctnck.FITINGCODE = enumValue.FITINGCODE; newctnck.FITINGGID = enumValue.FITINGGID; newctnck.FITINGNAME = enumValue.FITINGNAME; newctnck.MODEL = enumValue.MODEL; if (enumValue.WMSTYPE == "拆") newctnck.PKGS =- enumValue.PKGS; else if (enumValue.WMSTYPE == "装") newctnck.PKGS =enumValue.PKGS; else if (enumValue.WMSTYPE == "损坏") newctnck.PKGS =- enumValue.PKGS; CtnKcList.Add(newctnck); } //if (enumValue.WMSTYPE == "装") //{ // cmdInsertCtnFitings.Parameters.Clear(); // db.AddInParameter(cmdInsertCtnFitings, "@GID", DbType.String, Guid.NewGuid().ToString()); // db.AddInParameter(cmdInsertCtnFitings, "@LINKGID", DbType.String, opctnbscard.CTNGID); // db.AddInParameter(cmdInsertCtnFitings, "@FITINGGID", DbType.String, enumValue.FITINGGID); // db.AddInParameter(cmdInsertCtnFitings, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); // db.AddInParameter(cmdInsertCtnFitings, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); // db.AddInParameter(cmdInsertCtnFitings, "@MODEL", DbType.String, enumValue.MODEL); // db.AddInParameter(cmdInsertCtnFitings, "@OPDATE", DbType.String, enumValue.OPDATE); // db.AddInParameter(cmdInsertCtnFitings, "@YARD", DbType.String, enumValue.YARD); // if (enumValue.WMSTYPE == "拆") // db.AddInParameter(cmdInsertCtnFitings, "@PKGS", DbType.Decimal, enumValue.PKGS); // else // db.AddInParameter(cmdInsertCtnFitings, "@PKGS", DbType.Decimal, -enumValue.PKGS); // db.AddInParameter(cmdInsertCtnFitings, "@REMARK", DbType.String, enumValue.REMARK); // db.AddInParameter(cmdInsertCtnFitings, "@CREATEUSER", DbType.String, userid); // db.AddInParameter(cmdInsertCtnFitings, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); // db.AddInParameter(cmdInsertCtnFitings, "@MODIFIEDUSER", DbType.String, userid); // db.AddInParameter(cmdInsertCtnFitings, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); // db.ExecuteNonQuery(cmdInsertCtnFitings, tran); //} } } SaveFitingsCtnKc(CtnKcList); tran.Commit(); } catch (Exception e) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"+e.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } public static DBResult DeleteFitingsDetail(List 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_ctntkFiting_detail 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 FitingsBody static public List GetFitingsBodyList(string strCondition, string optype="",string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_body.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_body.MODIFIEDUSER) as MODIFIEDUSERREF"); if (string.IsNullOrEmpty(optype)) { strSql.Append(",isnull((select top 1 GID from op_ctntkFiting_detail where LINKGID=op_ctntkFiting_body.GID),'') as DETAILGID"); } else { strSql.Append(",isnull((select top 1 GID from op_ctntkFiting_detail where LINKGID=op_ctntkFiting_body.GID and WMSTYPE='"+optype+"'),'') as DETAILGID"); } strSql.Append(" from op_ctntkFiting_body "); 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 SetFitingsBodyData(strSql); } static public string GetFitingsBodyListStr(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_body.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_body.MODIFIEDUSER) as MODIFIEDUSERREF"); strSql.Append(",isnull((select top 1 GID from op_ctntkFiting_detail where LINKGID=op_ctntkFiting_body.GID),'') as DETAILGID"); strSql.Append(" from op_ctntkFiting_body "); 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 strSql.ToString(); } static public OpCtnTkFitingsBody GetOpFitingsBodyData(string condition, string userid) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_body.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=op_ctntkFiting_body.MODIFIEDUSER) as MODIFIEDUSERREF"); strSql.Append(",isnull((select top 1 GID from op_ctntkFiting_detail where LINKGID=op_ctntkFiting_body.GID),'') as DETAILGID"); strSql.Append(" from op_ctntkFiting_body "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" where " + condition); } var list = SetFitingsBodyData(strSql); if (list.Count > 0) return list[0]; return new OpCtnTkFitingsBody(); } private static List SetFitingsBodyData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { OpCtnTkFitingsBody data = new OpCtnTkFitingsBody(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.LINKGID = Convert.ToString(reader["LINKGID"]); data.FITINGGID = Convert.ToString(reader["FITINGGID"]); data.FITINGCODE = Convert.ToString(reader["FITINGCODE"]); data.FITINGNAME = Convert.ToString(reader["FITINGNAME"]); data.MODEL = Convert.ToString(reader["MODEL"]); if (reader["PKGS"] != DBNull.Value) data.PKGS = Convert.ToDecimal(reader["PKGS"]); 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"]); data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]); if (reader["MODIFIEDTIME"] != DBNull.Value) data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss"); data.DETAILGID = Convert.ToString(reader["DETAILGID"]); #endregion headList.Add(data); } reader.Close(); } return headList; } public static DBResult SaveFitingsBody(List bodyList, string PID, 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_ctntkFiting_body (GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] ,[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]) values (@GID,@LINKGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL ,@PKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME) "); var cmdUpdate = db.GetSqlStringCommand( @"update op_ctntkFiting_body set FITINGGID=@FITINGGID,FITINGCODE=@FITINGCODE,FITINGNAME=@FITINGNAME,MODEL=@MODEL, PKGS=@PKGS,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME where GID=@GID "); if (bodyList != null) { foreach (var enumValue in bodyList) { if (enumValue.LINKGID == "*" || enumValue.LINKGID == "") { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, PID); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); 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, "@GID", DbType.String, enumValue.GID); db.AddInParameter(cmdUpdate, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdUpdate, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdUpdate, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdUpdate, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdUpdate, "@PKGS", DbType.Decimal, enumValue.PKGS); 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); } } } tran.Commit(); } catch (Exception E) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"+E.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } public static DBResult DeleteFitingsBody(List 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_ctntkFiting_body 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 FitingsKc static public List GetFitingsKcList(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",[PKGS],[YARD]"); strSql.Append(",(FITINGNAME+'-'+MODEL) as FITINGFULL"); strSql.Append(" from op_ctntkFiting_kc "); 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 FITINGNAME "); } return SetFitingsKcData(strSql); } static public string GetFitingsKcListStr(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",[PKGS],[YARD]"); strSql.Append(",(FITINGNAME+'-'+MODEL) as FITINGFULL"); strSql.Append(" from op_ctntkFiting_kc "); 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 FITINGNAME"); } return strSql.ToString(); } static public List GetFitingsKcSum() { var strSql = new StringBuilder(); strSql.Append("SELECT '' GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",sum([PKGS]) PKGS,[YARD]"); strSql.Append(",'' as FITINGFULL"); strSql.Append(" from op_ctntkFiting_detail "); strSql.Append(" GROUP BY [FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL],[YARD] "); return SetFitingsKcData(strSql); } static public List GetFitingsCtnKcSum(string CTNGID) { var strSql = new StringBuilder(); strSql.Append("SELECT '' GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL]"); strSql.Append(",sum(CASE WHEN WMSTYPE='装' THEN NPKGS ELSE -NPKGS END) PKGS"); strSql.Append(",'' as FITINGFULL,'' YARD "); strSql.Append(" from op_ctntkFiting_detail WHERE CTNGID='"+ CTNGID + "' "); strSql.Append(" GROUP BY [FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL],[YARD] "); return SetFitingsKcData(strSql); } private static List SetFitingsKcData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { OpCtnTkFitingsKc data = new OpCtnTkFitingsKc(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.FITINGGID = Convert.ToString(reader["FITINGGID"]); data.FITINGCODE = Convert.ToString(reader["FITINGCODE"]); data.FITINGNAME = Convert.ToString(reader["FITINGNAME"]); data.MODEL = Convert.ToString(reader["MODEL"]); if (reader["PKGS"] != DBNull.Value) data.PKGS = Convert.ToDecimal(reader["PKGS"]); data.YARD = Convert.ToString(reader["YARD"]); data.FITINGFULL = Convert.ToString(reader["FITINGFULL"]); #endregion headList.Add(data); } reader.Close(); } return headList; } public static DBResult UpdateFitingsKc() { var result = new DBResult(); var bodyList = GetFitingsKcSum(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdInsert = db.GetSqlStringCommand( @"insert into op_ctntkFiting_kc (GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] ,[PKGS],[YARD]) values (@GID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL ,@PKGS,@YARD) "); var cmdDelete = db.GetSqlStringCommand( @"delete from op_ctntkFiting_kc "); cmdDelete.Parameters.Clear(); db.ExecuteNonQuery(cmdDelete, tran); if (bodyList != null) { foreach (var enumValue in bodyList) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD); db.ExecuteNonQuery(cmdInsert, tran); } } tran.Commit(); } catch (Exception E) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员" + E.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } //public static DBResult UpdateFitingsCtnKc(string CTNGID) //{ // var result = new DBResult(); // var bodyList = GetFitingsCtnKcSum(CTNGID); // Database db = DatabaseFactory.CreateDatabase(); // using (var conn = db.CreateConnection()) // { // conn.Open(); // var tran = conn.BeginTransaction(); // try // { // var cmdInsert = // db.GetSqlStringCommand( // @"insert into op_ctntkFiting_Ctnkc (GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] // ,[PKGS],[CTNGID]) // values (@GID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL // ,@PKGS,@CTNGID) "); // var cmdDelete = // db.GetSqlStringCommand( // @"delete from op_ctntkFiting_Ctnkc WHERE CTNGID='"+CTNGID+"' "); // cmdDelete.Parameters.Clear(); // db.ExecuteNonQuery(cmdDelete, tran); // if (bodyList != null) // { // foreach (var enumValue in bodyList) // { // cmdInsert.Parameters.Clear(); // db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); // db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); // db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); // db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); // db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); // db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); // db.AddInParameter(cmdInsert, "@CTNGID", DbType.String, CTNGID); // db.ExecuteNonQuery(cmdInsert, tran); // } // } // tran.Commit(); // } // catch (Exception E) // { // tran.Rollback(); // result.Success = false; // result.Message = "保存出现错误,请重试或联系系统管理员" + E.Message; // return result; // } // } // result.Success = true; // result.Message = "保存成功" + result.Message; // return result; //} public static DBResult UpdateFitingsCtnKc(string CTNGID, List DetailList) { var result = new DBResult(); var bodyList = GetFitingsCtnKcList("F.CTNGID='"+CTNGID+"'"); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdInsert = db.GetSqlStringCommand( @"insert into op_ctntkFiting_Ctnkc (GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] ,[PKGS],[CTNGID]) values (@GID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL ,@PKGS,@CTNGID) "); var cmdDelete = db.GetSqlStringCommand( @"delete from op_ctntkFiting_Ctnkc WHERE CTNGID='" + CTNGID + "' "); cmdDelete.Parameters.Clear(); db.ExecuteNonQuery(cmdDelete, tran); if (bodyList != null) { foreach (var enumValue in bodyList) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); db.AddInParameter(cmdInsert, "@CTNGID", DbType.String, CTNGID); db.ExecuteNonQuery(cmdInsert, tran); } } tran.Commit(); } catch (Exception E) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员" + E.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } public static DBResult SaveFitingsCtnKc(List bodyList) { 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_ctntkFiting_Ctnkc (GID,[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] ,[PKGS],[CTNGID]) values (@GID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL ,@PKGS,@CTNGID) "); var cmdUpdate = db.GetSqlStringCommand( @"update op_ctntkFiting_Ctnkc set FITINGGID=@FITINGGID,FITINGCODE=@FITINGCODE,FITINGNAME=@FITINGNAME,MODEL=@MODEL, PKGS=@PKGS where GID=@GID "); var cmdDelete = db.GetSqlStringCommand( @"delete from op_ctntkFiting_Ctnkc WHERE CTNGID=@CTNGID "); if (bodyList != null) { foreach (var enumValue in bodyList) { if (enumValue.PKGS == 0) { cmdDelete.Parameters.Clear(); db.AddInParameter(cmdDelete, "@CTNGID", DbType.String, enumValue.CTNGID); db.ExecuteNonQuery(cmdDelete, tran); } else { if (enumValue.GID == "*") { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.PKGS); db.AddInParameter(cmdInsert, "@CTNGID", DbType.String, enumValue.CTNGID); db.ExecuteNonQuery(cmdInsert, tran); } else { cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID); db.AddInParameter(cmdUpdate, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdUpdate, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdUpdate, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdUpdate, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdUpdate, "@PKGS", DbType.Decimal, enumValue.PKGS); db.ExecuteNonQuery(cmdUpdate, tran); } } } } tran.Commit(); } catch (Exception E) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员" + E.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } static public List GetFitingsCtnKcList(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT F.GID,F.[FITINGGID],F.[FITINGCODE],F.[FITINGNAME],F.[MODEL]"); strSql.Append(",F.[PKGS],F.[CTNGID]"); strSql.Append(",(F.FITINGNAME+'-'+F.MODEL) as FITINGFULL,C.CTNNO"); strSql.Append(" from op_ctntkFiting_Ctnkc F left join code_ctntk c on (c.GID=F.CTNGID)"); 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 CTNGID,FITINGNAME "); } return SetFitingsCtnKcData(strSql); } static public OpCtnTkFitingsDetail GetFitingsCtnKc(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT F.GID,F.[FITINGGID],F.[FITINGCODE],F.[FITINGNAME],F.[MODEL]"); strSql.Append(",F.[PKGS],F.[CTNGID]"); strSql.Append(",(F.FITINGNAME+'-'+F.MODEL) as FITINGFULL,C.CTNNO"); strSql.Append(" from op_ctntkFiting_Ctnkc F left join code_ctntk c on (c.GID=F.CTNGID)"); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } var list = SetFitingsCtnKcData(strSql); if (list.Count > 0) return list[0]; return new OpCtnTkFitingsDetail(); } static public string GetFitingsCtnKcListStr(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT F.GID,F.[FITINGGID],F.[FITINGCODE],F.[FITINGNAME],F.[MODEL]"); strSql.Append(",F.[PKGS],F.[CTNGID]"); strSql.Append(",(F.FITINGNAME+'-'+F.MODEL) as FITINGFULL,C.CTNNO"); strSql.Append(" from op_ctntkFiting_Ctnkc F left join code_ctntk c on (c.GID=F.CTNGID)"); 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 CTNGID,FITINGNAME "); } return strSql.ToString(); } private static List SetFitingsCtnKcData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { OpCtnTkFitingsDetail data = new OpCtnTkFitingsDetail(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.FITINGGID = Convert.ToString(reader["FITINGGID"]); data.FITINGCODE = Convert.ToString(reader["FITINGCODE"]); data.FITINGNAME = Convert.ToString(reader["FITINGNAME"]); data.FITINGFULL = Convert.ToString(reader["FITINGFULL"]); data.CTNGID = Convert.ToString(reader["CTNGID"]); data.CTNNO = Convert.ToString(reader["CTNNO"]); data.MODEL = Convert.ToString(reader["MODEL"]); if (reader["PKGS"] != DBNull.Value) data.PKGS = Convert.ToDecimal(reader["PKGS"]); #endregion headList.Add(data); } reader.Close(); } return headList; } static public List GetFitingsBsCardCtnKcList(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT F.GID,F.[FITINGGID],F.[FITINGCODE],F.[FITINGNAME],F.[MODEL]"); strSql.Append(",F.[PKGS],F.[CTNGID]"); strSql.Append(",(F.FITINGNAME+'-'+F.MODEL) as FITINGFULL,B.CTNNO"); strSql.Append(",B.GID LINKGID,F.[CTNGID]"); strSql.Append(",D.PKGS MPKGS,D.YARD,D.WMSTYPE,D.OPDATE,D.OPSTATUS,D.GID BODYGID "); strSql.Append(" from op_ctntkFiting_Ctnkc F left join op_ctnbscard B on (B.CTNGID=F.CTNGID)"); strSql.Append(" left join op_ctntkFiting_body D on (D.LINKGID=B.GID AND F.FITINGGID=D.FITINGGID)"); 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 F.CTNGID,F.FITINGNAME "); } return SetFitingsBsCardCtnKcData(strSql); } static public string GetFitingsBsCardCtnKcListStr(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append("SELECT F.GID,F.[FITINGGID],F.[FITINGCODE],F.[FITINGNAME],F.[MODEL]"); strSql.Append(",F.[PKGS],F.[CTNGID]"); strSql.Append(",(F.FITINGNAME+'-'+F.MODEL) as FITINGFULL,B.CTNNO"); strSql.Append(",B.GID LINKGID,F.[CTNGID]"); strSql.Append(",D.PKGS MPKGS,D.YARD,D.WMSTYPE,D.OPDATE,D.OPSTATUS,D.GID BODYGID "); strSql.Append(" from op_ctntkFiting_Ctnkc F left join op_ctnbscard B on (B.CTNGID=F.CTNGID)"); strSql.Append(" left join op_ctntkFiting_body D on (D.LINKGID=B.GID AND F.FITINGGID=D.FITINGGID)"); 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 F.CTNGID,F.FITINGNAME "); } return strSql.ToString(); } private static List SetFitingsBsCardCtnKcData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { OpCtnTkFitingsDetail data = new OpCtnTkFitingsDetail(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.FITINGGID = Convert.ToString(reader["FITINGGID"]); data.FITINGCODE = Convert.ToString(reader["FITINGCODE"]); data.FITINGNAME = Convert.ToString(reader["FITINGNAME"]); data.FITINGFULL = Convert.ToString(reader["FITINGFULL"]); data.CTNGID = Convert.ToString(reader["CTNGID"]); data.CTNNO = Convert.ToString(reader["CTNNO"]); data.MODEL = Convert.ToString(reader["MODEL"]); if (reader["PKGS"] != DBNull.Value) data.PKGS = Convert.ToDecimal(reader["PKGS"]); if (reader["MPKGS"] != DBNull.Value) data.NPKGS = Convert.ToDecimal(reader["MPKGS"]); data.WMSTYPE = Convert.ToString(reader["WMSTYPE"]); if (reader["OPDATE"] != DBNull.Value) data.OPDATE = Convert.ToDateTime(reader["OPDATE"]).ToString("yyyy-MM-dd"); data.YARD = Convert.ToString(reader["YARD"]); data.BODYGID = Convert.ToString(reader["BODYGID"]); data.LINKGID = Convert.ToString(reader["LINKGID"]); data.OPSTATUS = Convert.ToString(reader["OPSTATUS"]); #endregion headList.Add(data); } reader.Close(); } return headList; } public static DBResult SaveBsCardFitingsBody(List 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_ctntkFiting_body (GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] ,[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],WMSTYPE,OPDATE,YARD,OPSTATUS) values (@GID,@LINKGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL ,@PKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME,@WMSTYPE,@OPDATE,@YARD,@OPSTATUS) "); var cmdUpdate = db.GetSqlStringCommand( @"update op_ctntkFiting_body set FITINGGID=@FITINGGID,FITINGCODE=@FITINGCODE,FITINGNAME=@FITINGNAME,MODEL=@MODEL, PKGS=@PKGS,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME,WMSTYPE=@WMSTYPE,OPDATE=@OPDATE, YARD=@YARD where GID=@GID "); var cmdDelete = db.GetSqlStringCommand( @"delete from op_ctntkFiting_body WHERE CTNGID=@CTNGID "); if (bodyList != null) { foreach (var enumValue in bodyList) { if (enumValue.NPKGS != 0) { if (string.IsNullOrEmpty(enumValue.BODYGID)) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, enumValue.LINKGID); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.NPKGS); 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.AddInParameter(cmdInsert, "@WMSTYPE", DbType.String, enumValue.WMSTYPE); db.AddInParameter(cmdInsert, "@OPDATE", DbType.String, enumValue.OPDATE); db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD); db.AddInParameter(cmdInsert, "@OPSTATUS", DbType.String, "0"); db.ExecuteNonQuery(cmdInsert, tran); } else { cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID); db.AddInParameter(cmdUpdate, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdUpdate, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdUpdate, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdUpdate, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdUpdate, "@PKGS", DbType.Decimal, enumValue.NPKGS); 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.AddInParameter(cmdUpdate, "@WMSTYPE", DbType.String, enumValue.WMSTYPE); db.AddInParameter(cmdUpdate, "@OPDATE", DbType.String, enumValue.OPDATE); db.AddInParameter(cmdUpdate, "@YARD", DbType.String, enumValue.YARD); db.ExecuteNonQuery(cmdUpdate, tran); } } else { if (!string.IsNullOrEmpty(enumValue.BODYGID)) { cmdDelete.Parameters.Clear(); db.AddInParameter(cmdDelete, "@GID", DbType.String, enumValue.BODYGID); db.ExecuteNonQuery(cmdDelete, tran); } } } } tran.Commit(); } catch (Exception E) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员" + E.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } public static DBResult AuditBsCardFitingsBody(List bodyList, string userid) { var result = new DBResult(); var CtnKcList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdInsert = db.GetSqlStringCommand( @"insert into op_ctntkFiting_body (GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[MODEL] ,[PKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],WMSTYPE,OPDATE,YARD,OPSTATUS) values (@GID,@LINKGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@MODEL ,@PKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME,@WMSTYPE,@OPDATE,@YARD,@OPSTATUS) "); var cmdUpdate = db.GetSqlStringCommand( @"update op_ctntkFiting_body set FITINGGID=@FITINGGID,FITINGCODE=@FITINGCODE,FITINGNAME=@FITINGNAME,MODEL=@MODEL, PKGS=@PKGS,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME,WMSTYPE=@WMSTYPE,OPDATE=@OPDATE, YARD=@YARD,OPSTATUS=@OPSTATUS where GID=@GID "); var cmdDelete = db.GetSqlStringCommand( @"delete from op_ctntkFiting_body WHERE CTNGID=@CTNGID "); var cmdInsertDetail = db.GetSqlStringCommand( @"insert into op_ctntkFiting_detail (GID,[LINKGID],[FITINGGID],[FITINGCODE],[FITINGNAME],[CTNGID],[CTNNO],[MODEL] ,[WMSTYPE],[OPDATE],[YARD],[PKGS],[NPKGS],[REMARK],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]) values (@GID,@LINKGID,@FITINGGID,@FITINGCODE,@FITINGNAME,@CTNGID,@CTNNO,@MODEL ,@WMSTYPE,@OPDATE,@YARD,@PKGS,@NPKGS,@REMARK,@CREATEUSER,@CREATETIME,@MODIFIEDUSER,@MODIFIEDTIME) "); if (bodyList != null) { foreach (var enumValue in bodyList) { if (enumValue.NPKGS != 0) { if (string.IsNullOrEmpty(enumValue.BODYGID)) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, enumValue.LINKGID); db.AddInParameter(cmdInsert, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsert, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsert, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsert, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsert, "@PKGS", DbType.Decimal, enumValue.NPKGS); 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.AddInParameter(cmdInsert, "@WMSTYPE", DbType.String, enumValue.WMSTYPE); db.AddInParameter(cmdInsert, "@OPDATE", DbType.String, enumValue.OPDATE); db.AddInParameter(cmdInsert, "@YARD", DbType.String, enumValue.YARD); db.AddInParameter(cmdInsert, "@OPSTATUS", DbType.String, "1"); db.ExecuteNonQuery(cmdInsert, tran); } else { cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID); db.AddInParameter(cmdUpdate, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdUpdate, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdUpdate, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdUpdate, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdUpdate, "@PKGS", DbType.Decimal, enumValue.NPKGS); 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.AddInParameter(cmdUpdate, "@WMSTYPE", DbType.String, enumValue.WMSTYPE); db.AddInParameter(cmdUpdate, "@OPDATE", DbType.String, enumValue.OPDATE); db.AddInParameter(cmdUpdate, "@YARD", DbType.String, enumValue.YARD); db.AddInParameter(cmdInsert, "@OPSTATUS", DbType.String, "1"); db.ExecuteNonQuery(cmdUpdate, tran); } cmdInsertDetail.Parameters.Clear(); db.AddInParameter(cmdInsertDetail, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsertDetail, "@LINKGID", DbType.String, enumValue.LINKGID); db.AddInParameter(cmdInsertDetail, "@FITINGGID", DbType.String, enumValue.FITINGGID); db.AddInParameter(cmdInsertDetail, "@FITINGCODE", DbType.String, enumValue.FITINGCODE); db.AddInParameter(cmdInsertDetail, "@FITINGNAME", DbType.String, enumValue.FITINGNAME); db.AddInParameter(cmdInsertDetail, "@CTNGID", DbType.String, enumValue.CTNGID); db.AddInParameter(cmdInsertDetail, "@CTNNO", DbType.String, enumValue.CTNNO); db.AddInParameter(cmdInsertDetail, "@MODEL", DbType.String, enumValue.MODEL); db.AddInParameter(cmdInsertDetail, "@WMSTYPE", DbType.String, enumValue.WMSTYPE); db.AddInParameter(cmdInsertDetail, "@OPDATE", DbType.String, enumValue.OPDATE); db.AddInParameter(cmdInsertDetail, "@YARD", DbType.String, enumValue.YARD); if (enumValue.WMSTYPE == "拆") db.AddInParameter(cmdInsertDetail, "@PKGS", DbType.Decimal, enumValue.NPKGS); else if (enumValue.WMSTYPE == "装") db.AddInParameter(cmdInsertDetail, "@PKGS", DbType.Decimal, -enumValue.NPKGS); else if (enumValue.WMSTYPE == "损坏") db.AddInParameter(cmdInsertDetail, "@PKGS", DbType.Decimal, 0); db.AddInParameter(cmdInsertDetail, "@NPKGS", DbType.Decimal, enumValue.NPKGS); db.AddInParameter(cmdInsertDetail, "@REMARK", DbType.String, enumValue.REMARK); db.AddInParameter(cmdInsertDetail, "@CREATEUSER", DbType.String, userid); db.AddInParameter(cmdInsertDetail, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdInsertDetail, "@MODIFIEDUSER", DbType.String, userid); db.AddInParameter(cmdInsertDetail, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.ExecuteNonQuery(cmdInsertDetail, tran); var ctnkc = GetFitingsCtnKc("F.CTNGID='"+ enumValue.CTNGID+ "' AND F.FITINGGID='"+enumValue.FITINGGID+"'"); if (ctnkc != null&&!string.IsNullOrEmpty(ctnkc.FITINGGID)) { if (enumValue.WMSTYPE == "拆") ctnkc.PKGS = ctnkc.PKGS - enumValue.NPKGS; else if (enumValue.WMSTYPE == "装") ctnkc.PKGS = ctnkc.PKGS + enumValue.NPKGS; else if (enumValue.WMSTYPE == "损坏") ctnkc.PKGS = ctnkc.PKGS - enumValue.NPKGS; CtnKcList.Add(ctnkc); } else { var newctnck = new OpCtnTkFitingsDetail(); newctnck.GID = "*"; newctnck.CTNGID = enumValue.CTNGID; newctnck.FITINGCODE = enumValue.FITINGCODE; newctnck.FITINGGID = enumValue.FITINGGID; newctnck.FITINGNAME = enumValue.FITINGNAME; newctnck.MODEL = enumValue.MODEL; if (enumValue.WMSTYPE == "拆") newctnck.PKGS = -enumValue.NPKGS; else if (enumValue.WMSTYPE == "装") newctnck.PKGS = enumValue.NPKGS; else if (enumValue.WMSTYPE == "损坏") newctnck.PKGS = -enumValue.NPKGS; CtnKcList.Add(newctnck); } } else { if (!string.IsNullOrEmpty(enumValue.BODYGID)) { cmdDelete.Parameters.Clear(); db.AddInParameter(cmdDelete, "@GID", DbType.String, enumValue.BODYGID); db.ExecuteNonQuery(cmdDelete, tran); } } } } tran.Commit(); if (CtnKcList.Count!=0) SaveFitingsCtnKc(CtnKcList); } catch (Exception E) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员" + E.Message; return result; } } result.Success = true; result.Message = "保存成功" + result.Message; return result; } #endregion } }