/// <summary> /// 获取系统中此模具下的导入的BOM件号 /// </summary> public static List <DataAccess.Model.BOM> GetVerifyIDList( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , Eman_Mould mouldInfo ) { var sql = " select verifyID from BOM WITH (NOLOCK) where mark = 1 and mouldID = @mouldID "; var result = conn.Query <DataAccess.Model.BOM>(sql, mouldInfo, tran); return(result.ToList()); }
/// <summary> /// 获取系统中的工件ID集合 /// </summary> public static List <string> GetDBPartIDList( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , Eman_Mould mouldInfo ) { var dbPartIDList = new List <string>(); string sql = "SELECT MouldPart.partID from MouldPart WITH (NOLOCK) where mark <> 'delete' and mouldID =@mouldID"; var list = conn.Query <MouldPart>(sql, mouldInfo, tran); list.ToList().ForEach(u => { dbPartIDList.Add(u.partID); }); return(dbPartIDList.Distinct().ToList()); }
/// <summary> /// 验证电极在Eman中是否存在 /// </summary> public static void CheckCuprumIsExist( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , List <EACT_CUPRUM> CupRumList , Eman_Mould mouldInfo ) { var sql = new StringBuilder(); sql.AppendLine("SELECT * FROM MouldPart WHERE MouldPart.mouldID = @MouldInteriorID AND MouldPart.mark <> 'delete' AND MouldPart.verifyID in"); sql.AppendLine("("); sql.Append(string.Join(",", Enumerable.Select(CupRumList, u => string.Format("'{0}'", u.CUPRUMSN)).Distinct().ToArray())); sql.AppendLine(")"); var list = conn.Query <MouldPart>(sql.ToString(), new { MouldInteriorID = mouldInfo.mouldID }, tran); foreach (var item in CupRumList.ToList()) { if (list.Where(u => u.verifyID == item.CUPRUMSN).Count() > 0) { CupRumList.Remove(item); } } }
/// <summary> /// 插入工件 /// </summary> public static void InsertMouldPart( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , List <EACT_CUPRUM> CupRumList , Eman_Mould mouldInfo , List <string> dbPartIDList , Human human ) { foreach (var item in CupRumList) { var model = new MouldPart(); model.projectID = mouldInfo.projectID; model.productID = mouldInfo.productID; model.mouldID = mouldInfo.mouldID; model.partID = string.Format("{0}{1}", mouldInfo.mouldID, GenerateAutoCode.GetRandomString(dbPartIDList)); item.MouldPart_PartID = model.partID; model.partClassID = item.PartClassID; model.materialID = item.MaterialID; model.designer = human.humanID; model.partName = item.verifyIDName; model.designDate = DateTime.Now; model.remark = "电极设计导入"; model.partType = 20; model.state = "已设计"; model.specifications = item.EDMCONDITIONSN.Replace('x', 'X'); model.verifyID = item.CUPRUMSN; model.addRecordsPerson = model.designer; model.partNums = item.CUPRUMCOUNT; model.dataFrom = "eact"; StringBuilder queryParameters = new StringBuilder(); queryParameters.Append("@projectID"); queryParameters.Append(", "); queryParameters.Append("@productID"); queryParameters.Append(", "); queryParameters.Append("@mouldID"); queryParameters.Append(", "); queryParameters.Append("@partID"); queryParameters.Append(", "); queryParameters.Append("@partClassID"); queryParameters.Append(", "); queryParameters.Append("@partName"); queryParameters.Append(", "); queryParameters.Append("@materialID"); queryParameters.Append(", "); queryParameters.Append("@designer"); queryParameters.Append(", "); queryParameters.Append("@designDate"); queryParameters.Append(", "); queryParameters.Append("@remark"); queryParameters.Append(", "); queryParameters.Append("@partType"); queryParameters.Append(", "); queryParameters.Append("@state"); queryParameters.Append(", "); queryParameters.Append("@specifications"); queryParameters.Append(", "); queryParameters.Append("@verifyID"); queryParameters.Append(", "); queryParameters.Append("@addRecordsPerson"); queryParameters.Append(", "); queryParameters.Append("@partNums"); queryParameters.Append(", "); queryParameters.Append("@spareNum"); queryParameters.Append(", "); queryParameters.Append("@dataFrom"); string query = String.Format("Insert Into MouldPart ({0}) output inserted.ID Values ({1})", queryParameters.ToString().Replace("@", ""), queryParameters.ToString()); var result = conn.ExecuteScalar(query, model, tran, null, null); model.ID = int.Parse(result.ToString()); item.MouldPart_ID = model.ID; } }
/// <summary> /// 插入工件历史 /// </summary> public static void InsertMouldPartHistory( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , List <EACT_CUPRUM> CupRumList , Eman_Mould mouldInfo , Human human ) { var sql = new StringBuilder(); sql.AppendLine("SELECT projectID ,productID ,mouldID ,partID ,partOrderID"); sql.AppendLine(",partName ,partClassID ,materialID ,designer ,designDate"); sql.AppendLine(",machiningAttribute ,remark ,STATE ,partType ,partNums"); sql.AppendLine(",partFigID ,verifyID ,priority ,standardNumber ,specifications"); sql.AppendLine(",addRecordsPerson AS modifyRecordsPerson ,addRecordsTime AS modifyRecordsTime ,'添加' AS modifyType ,isnull(versionInfo, 0) versionInfo ,ID"); sql.AppendLine(",userField1 ,userField2 ,spareNum"); sql.AppendLine("FROM mouldpart"); sql.AppendLine("where partID in ("); sql.Append(string.Join(",", Enumerable.Select(CupRumList, u => string.Format("'{0}'", u.MouldPart_PartID)).Distinct().ToArray())); sql.AppendLine(")"); var list = conn.Query <HistoryMouldPart>(sql.ToString(), new { humanID = human.humanID }, tran); foreach (var item in list) { var model = item; StringBuilder queryParameters = new StringBuilder(); queryParameters.Append("@projectID"); queryParameters.Append(", "); queryParameters.Append("@productID"); queryParameters.Append(", "); queryParameters.Append("@mouldID"); queryParameters.Append(", "); queryParameters.Append("@partID"); queryParameters.Append(", "); queryParameters.Append("@partOrderID"); queryParameters.Append(", "); queryParameters.Append("@partName"); queryParameters.Append(", "); queryParameters.Append("@partClassID"); queryParameters.Append(", "); queryParameters.Append("@materialID"); queryParameters.Append(", "); queryParameters.Append("@designer"); queryParameters.Append(", "); queryParameters.Append("@designDate"); queryParameters.Append(", "); queryParameters.Append("@machiningAttribute"); queryParameters.Append(", "); queryParameters.Append("@remark"); queryParameters.Append(", "); queryParameters.Append("@state"); queryParameters.Append(", "); queryParameters.Append("@partType"); queryParameters.Append(", "); queryParameters.Append("@partNums"); queryParameters.Append(", "); queryParameters.Append("@partFigID"); queryParameters.Append(", "); queryParameters.Append("@verifyID"); queryParameters.Append(", "); queryParameters.Append("@priority"); queryParameters.Append(", "); queryParameters.Append("@standardNumber"); queryParameters.Append(", "); queryParameters.Append("@specifications"); queryParameters.Append(", "); queryParameters.Append("@modifyRecordsPerson"); queryParameters.Append(", "); queryParameters.Append("@modifyRecordsTime"); queryParameters.Append(", "); queryParameters.Append("@modifyType"); queryParameters.Append(", "); queryParameters.Append("@versionInfo"); queryParameters.Append(", "); queryParameters.Append("@ID"); queryParameters.Append(", "); queryParameters.Append("@userField1"); queryParameters.Append(", "); queryParameters.Append("@userField2"); queryParameters.Append(", "); queryParameters.Append("@spareNum"); string query = String.Format("Insert Into HistoryMouldPart ({0}) Values ({1})", queryParameters.ToString().Replace("@", ""), queryParameters.ToString()); conn.Execute(query, model, tran); } }
/// <summary> /// 插入BOM /// </summary> public static void InsertBOM( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , List <EACT_CUPRUM> CupRumList , Eman_Mould mouldInfo , Human human , List <DataAccess.Model.BOM> vil ) { int bomOrderID = vil.Count(); foreach (var item in CupRumList) { var vi = vil.FirstOrDefault(u => u.verifyID == item.CUPRUMSN); if (vi == null) { var model = new DataAccess.Model.BOM(); model.mouldID = mouldInfo.mouldID; model.partID = item.StandardPartNodeID; model.partName = item.verifyIDName; model.partType = item.MaterialClass; model.specifications = item.EDMCONDITIONSN.Replace('x', 'X'); model.material = item.MaterialID; model.unit = item.StandardStore_Unit; model.number = item.CUPRUMCOUNT; model.state = "planStock"; model.orderID = ++bomOrderID; model.createTime = DateTime.Now; model.orderState = "needOrderd"; model.isElectrodeImport = 1; model.materialID = item.McfMaterialID; model.isSubmit = false; model.verifyID = item.CUPRUMSN; model.dataFrom = "eact"; model.createMan = human.humanID; model.certainMaterialID = item.CertainMaterialID; model.brandID = 0; StringBuilder queryParameters = new StringBuilder(); queryParameters.Append("@mouldID"); queryParameters.Append(", "); queryParameters.Append("@partID"); queryParameters.Append(", "); queryParameters.Append("@partName"); queryParameters.Append(", "); queryParameters.Append("@partType"); queryParameters.Append(", "); queryParameters.Append("@specifications"); queryParameters.Append(", "); queryParameters.Append("@material"); queryParameters.Append(", "); queryParameters.Append("@number"); queryParameters.Append(", "); queryParameters.Append("@unit"); queryParameters.Append(", "); queryParameters.Append("@state"); queryParameters.Append(", "); queryParameters.Append("@orderID"); queryParameters.Append(", "); queryParameters.Append("@createTime"); queryParameters.Append(", "); queryParameters.Append("@orderState"); queryParameters.Append(", "); queryParameters.Append("@isElectrodeImport"); queryParameters.Append(", "); queryParameters.Append("@materialID"); queryParameters.Append(", "); queryParameters.Append("@isSubmit"); queryParameters.Append(", "); queryParameters.Append("@verifyID"); queryParameters.Append(", "); queryParameters.Append("@dataFrom"); queryParameters.Append(", "); queryParameters.Append("@createMan"); queryParameters.Append(", "); queryParameters.Append("@certainMaterialID"); queryParameters.Append(", "); queryParameters.Append("@brandID"); string query = String.Format("Insert Into BOM ({0}) Values ({1})", queryParameters.ToString().Replace("@", ""), queryParameters.ToString()); conn.Execute(query, model, tran); } } }
/// <summary> /// 插入工艺 /// </summary> public static void InsertMouldPartTechnics( System.Data.IDbConnection conn , System.Data.IDbTransaction tran , List <EACT_CUPRUM> CupRumList , Eman_Mould mouldInfo , Human human, List <TypicalSeparatePartTechnic> tspts ) { foreach (var item in CupRumList) { var tspt = tspts.FirstOrDefault(u => u.partID == item.TypicalPartID); if (tspt == null) { throw new Exception(string.Format("插入工艺失败 典型工件ID:{0}", item.TypicalPartID)); } var model = new MouldPartTechnic(); var number = item.CUPRUMCOUNT; model.projectID = mouldInfo.projectID; model.productID = mouldInfo.productID; model.mouldID = mouldInfo.mouldID; model.partID = item.MouldPart_PartID; model.partMonitorID = item.MouldPart_ID; model.operationOrderID = tspt.operationOrderID; model.operationNameID = tspt.operationNameID; model.operationName = tspt.operationName; model.operationContent = tspt.operationContent; model.planResourceID = tspt.planResourceID; double tempProcessingHoursQuota = 0; double.TryParse(tspt.processingHoursQuota, out tempProcessingHoursQuota); model.processingHoursQuota = tempProcessingHoursQuota * number; model.singleOperationTime = tempProcessingHoursQuota; model.addRecordsPerson = human.humanID; model.addRecordsTime = DateTime.Now; model.dataFrom = "eact"; model.partNums = number; model.existsWorks = tspt.existsWorks; StringBuilder queryParameters = new StringBuilder(); queryParameters.Append("@projectID"); queryParameters.Append(", "); queryParameters.Append("@productID"); queryParameters.Append(", "); queryParameters.Append("@mouldID"); queryParameters.Append(", "); queryParameters.Append("@partID"); queryParameters.Append(", "); queryParameters.Append("@partMonitorID"); queryParameters.Append(", "); queryParameters.Append("@operationOrderID"); queryParameters.Append(", "); queryParameters.Append("@monitorOrder"); queryParameters.Append(", "); queryParameters.Append("@operationNameID"); queryParameters.Append(", "); queryParameters.Append("@operationName"); queryParameters.Append(", "); queryParameters.Append("@operationContent"); queryParameters.Append(", "); queryParameters.Append("@planResourceID"); queryParameters.Append(", "); queryParameters.Append("@processingHoursQuota"); queryParameters.Append(", "); queryParameters.Append("@singleOperationTime"); queryParameters.Append(", "); queryParameters.Append("@addRecordsPerson"); queryParameters.Append(", "); queryParameters.Append("@addRecordsTime"); queryParameters.Append(", "); queryParameters.Append("@existsWorks"); queryParameters.Append(", "); queryParameters.Append("@partNums"); queryParameters.Append(", "); queryParameters.Append("@dataFrom"); string query = String.Format("Insert Into MouldPartTechnics ({0}) Values ({1})", queryParameters.ToString().Replace("@", ""), queryParameters.ToString()); conn.Execute(query, model, tran); } }