using System; using System.Collections.Generic; using System.Text; using Model; using Common; using System.Data; namespace BLL { public class DALMoveDetail :IDALMoveDetail { public IList GetList(string MDNo) { try { IList ls = new List(); List para = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append("Select * from Log_Move_Detail "); if (!string.IsNullOrEmpty(MDNo)) { if (para.Count < 1) strSql.Append("where "); else strSql.Append(" and "); strSql.Append("MDNo = @MDNo "); para.Add(new SqlParam("@MDNo", MDNo)); } SqlParam[] param = null; if (para != null) param = para.ToArray(); IDataReader dt = DataFactory.SqlDataBase().GetDataReaderBySQL(strSql, param); ls = ModelConvertHelper.DataReaderToModel(dt); return ls; } catch { throw new NotImplementedException(); } } public bool Add(List EMats) { bool result = false; try { //IList ls = new List(); List para = new List(); StringBuilder strSql = new StringBuilder(); strSql.Append(" Insert into Log_Move_Detail ( MDNo,MatNo,MatName,PackFormat,UnitFrist,Quant,Batch,Palno,StartAddre,StopAddre,Demo ) values "); for (int i = 0; i < EMats.Count; i++) { strSql.Append("(@MDNo" + i + ","); para.Add(new SqlParam("@MDNo" + i, EMats[i].MDNo)); strSql.Append("@MatNo" + i + ","); para.Add(new SqlParam("@MatNo" + i, EMats[i].MatNo)); strSql.Append("@MatName" + i + ","); para.Add(new SqlParam("@MatName" + i, EMats[i].MatName)); strSql.Append("@PackFormat" + i + ","); para.Add(new SqlParam("@PackFormat" + i, EMats[i].PackFormat)); strSql.Append("@UnitFrist" + i + ","); para.Add(new SqlParam("@UnitFrist" + i, EMats[i].UnitFrist)); strSql.Append("@Quant" + i + ","); para.Add(new SqlParam("@Quant" + i, EMats[i].Quant)); strSql.Append("@Batch" + i + ","); para.Add(new SqlParam("@Batch" + i, EMats[i].Batch)); strSql.Append("@Palno" + i + ","); para.Add(new SqlParam("@Palno" + i, EMats[i].Palno)); strSql.Append("@StartAddre" + i + ","); para.Add(new SqlParam("@StartAddre" + i, EMats[i].StartAddre)); strSql.Append("@StopAddre" + i + ","); para.Add(new SqlParam("@StopAddre" + i, EMats[i].StopAddre)); strSql.Append("@Demo" + i + "),"); para.Add(new SqlParam("@Demo" + i, EMats[i].Demo)); } SqlParam[] param = null; if (para != null) { strSql.Remove(strSql.Length - 1, 1); param = para.ToArray(); } int dt = DataFactory.SqlDataBase().ExecuteBySql(strSql, param); if (EMats.Count == dt) result = true; return result; } catch { return result; } } public bool Update(List model) { bool result = false; try { if (!this.Delete(model)) return false; if (!this.Add(model)) return false; return true; } catch { return result; } } public bool IsExist(string name, string value) { bool result = false; try { string[] para = new string[] { value }; int dt = DataFactory.SqlDataBase().IsExist("Roles", name, para); if (dt > 0) result = true; return result; } catch { return result; } } public DataTable GetDataTable(string[] strWhere) { DataTable dt = null; try { int index = 0; string str = "@RoleNum" + index; SqlParam[] param = new SqlParam[strWhere.Length]; StringBuilder sql = new StringBuilder(); sql.Append("Select RoleNum as 角色编号, RoleName as 角色名,CreatUser as 创建人,CreatTime as 创建时间,UpdateUser as 更新人,UpdateTime as 更新时间,Demo as 备注 FROM View_GetRoles where RoleNum in ("); for (int i = 0; i < param.Length - 1; i++) { string obj2 = strWhere[i]; str = "@RoleNum" + index; sql.Append(str).Append(","); param[index] = new SqlParam(str, obj2); index++; } str = "@RoleNum" + index; sql.Append(str); param[index] = new SqlParam(str, strWhere[index]); sql.Append(")"); dt = DataFactory.SqlDataBase().GetDataTableBySQL(sql, param, ""); return dt; } catch { throw new NotImplementedException(); } } public bool Delete(List EMats) { bool result = false; try { List para = new List(); StringBuilder strSql = new StringBuilder(); StringBuilder sp1 = new StringBuilder(); StringBuilder sp2 = new StringBuilder(); strSql.Append(" DELETE FROM ErpInDetail where " ); int i; sp1.Append( " OrdNo = " ); sp2.Append(" MatNo in ( "); for ( i= 0; i < EMats.Count; i++) { if (i == 0) { sp1.Append(" @OrdNo "); para.Add(new SqlParam("@OrdNO", EMats[i].OrdNo)); } sp2.Append("@MatNo" + i + ","); para.Add(new SqlParam("@MatNo" + i, EMats[i].MatNo)); } if (i > 0) { sp1.Append(" and "); sp2.Append(" )"); strSql.Append(sp1); ; strSql.Append(sp2.Remove(sp2.Length - 3, 1)); SqlParam[] param = null; param = para.ToArray(); int dt = DataFactory.SqlDataBase().ExecuteBySql(strSql, param); if (EMats.Count == dt ) result = true; } return result; } catch { return result; } } public bool Delete(List EMats) { bool result = false; try { List para = new List(); StringBuilder strSql = new StringBuilder(); StringBuilder sp1 = new StringBuilder(); StringBuilder sp2 = new StringBuilder(); strSql.Append(" DELETE FROM Log_Move_Detail where "); int i; sp1.Append(" MDNo = "); sp2.Append(" MatNo in ( "); for (i = 0; i < EMats.Count; i++) { if (i == 0) { sp1.Append(" @MDNo "); para.Add(new SqlParam("@MDNo", EMats[i].MDNo)); } sp2.Append("@MatNo" + i + ","); para.Add(new SqlParam("@MatNo" + i, EMats[i].MatNo)); } if (i > 0) { sp1.Append(" and "); sp2.Append(" )"); strSql.Append(sp1); ; strSql.Append(sp2.Remove(sp2.Length - 3, 1)); SqlParam[] param = null; param = para.ToArray(); int dt = DataFactory.SqlDataBase().ExecuteBySql(strSql, param); if (EMats.Count == dt) result = true; } return result; } catch { return result; } } } }