public ResultModel SaveBlankingPlanData(dynamic data) { try { //List<int> productIDs = new List<int>(); //List<int> pbomIDs = new List<int>(); // //foreach (var item in data) //{ // productIDs.Add(data[0].product_ID); // pbomIDs.Add(data[0].pbom_ID); //} // //List<PMS_BN_ProjectDetail> listA = db.Sql(string.Format(@"SELECT * FROM dbo.PMS_BN_ProjectDetail WHERE IsEnable = 1 AND ID IN ({0})", string.Join(",", productIDs))).QueryMany<PMS_BN_ProjectDetail>(); //List<PRS_Process_BOM> listB = db.Sql(string.Format(@"SELECT * FROM dbo.PRS_Process_BOM WHERE IsEnable = 1 AND ID IN ({0})", string.Join(",", pbomIDs))).QueryMany<PRS_Process_BOM>(); StringBuilder sb = new StringBuilder(); string savantCode = MmsHelper.GetOrderNumber("MES_SavantManage", "SavantCode", "ZJJ", "", ""); DateTime newDT = DateTime.Now; int partTotalNum = 0; foreach (var item in data) { //PMS_BN_ProjectDetail product = listA.Single(i => i.ID.Equals(item.product_ID)); //PRS_Process_BOM pbom = listB.Single(i => i.ID.Equals(item.pbom_ID)); //零件总数 partTotalNum += ((int?)item.BlankingNum ?? 0); sb.Append(WinFormClientService.GetInsertSQL(new MES_SavantAndPBom() { SavantCode = savantCode, ProcessBomID = item.pbom_ID, BlankingNum = item.BlankingNum, CreatePerson = MmsHelper.GetUserName(), CreateTime = newDT, ModifyPerson = MmsHelper.GetUserName(), ModifyTime = newDT })); } string iCode = new SYS_PartService().GetSysPartAutoMaxICode("030502"); sb.Append(WinFormClientService.GetInsertSQL(new MES_SavantManage() { SavantCode = savantCode, ProcessBomID = data[0].pbom_ID, SpareMateSize = data[0].BlankingSize, SpareMateNum = partTotalNum,//备料数量 IsEnable = 1, CreatePerson = MmsHelper.GetUserName(), CreateTime = newDT, ModifyPerson = MmsHelper.GetUserName(), ModifyTime = newDT, SplitNum = 1,//切分数量 InventoryCode = iCode })); sb.Append(WinFormClientService.GetInsertSQL(new SYS_Part() { InventoryCode = iCode, InventoryName = data[0].SetMateName, Model = data[0].BlankingSize, IsEnable = 1, CreatePerson = MmsHelper.GetUserName(), CreateTime = newDT, ModifyPerson = MmsHelper.GetUserName(), ModifyTime = newDT })); string sql = sb.ToString(); db.UseTransaction(true); bool result = db.Sql(sql).Execute() > 0; if (result) { db.Commit(); } else { db.Rollback(); } return(new ResultModel() { Result = result, Msg = result ? @"操作成功!" : @"操作失败!" }); } catch (Exception ex) { return(new ResultModel() { Result = false, Msg = ex.Message }); } }
protected override void OnAfterHandleExcel(ref DataTable dtSheet) { var service = new SYS_PartService(); var prsbomServices = new PRS_Process_BOMService(); foreach (DataRow item in dtSheet.Rows) { var PartCode = item["InventoryCode"].ToString(); List <PRS_Process_BOM> part = prsbomServices.GetModelList(ParamQuery.Instance().AndWhere("InventoryCode", PartCode).AndWhere("IsEnable", 1)); if (part.Count > 0) { item["PartCode"] = part[part.Count - 1].PartCode; item["PartName"] = part[part.Count - 1].PartName; item["Weight"] = part[part.Count - 1].Weight; var Query = ParamDelete.Instance().AndWhere("InventoryCode", PartCode); service.Delete(Query); } string dName = item["WarehouseCode"].ToString(); string sql = string.Format(@"select WarehouseName from SYS_BN_Warehouse where WarehouseCode='{0}'", dName); string hID = db.Sql(sql).QuerySingle <string>(); item["WarehouseName"] = hID; string isSelfMade = item["IsSelfMade"].ToString(); if (isSelfMade == "否") { item["IsSelfMade"] = 0; } else { item["IsSelfMade"] = 1; } string isSupplyMade = item["IsSupplyMade"].ToString(); if (isSupplyMade == "否") { item["IsSupplyMade"] = 0; } else { item["IsSupplyMade"] = 1; } string isCastforgeMatch = item["IsCastforgeMatch"].ToString(); if (isCastforgeMatch == "否") { item["IsCastforgeMatch"] = 0; } else { item["IsCastforgeMatch"] = 1; } string isOutsouceWeiding = item["IsOutsouceWeiding"].ToString(); if (isOutsouceWeiding == "否") { item["IsOutsouceWeiding"] = 0; } else { item["IsOutsouceWeiding"] = 1; } string isElectroHydraulicMatch = item["IsElectroHydraulicMatch"].ToString(); if (isElectroHydraulicMatch == "否") { item["IsElectroHydraulicMatch"] = 0; } else { item["IsElectroHydraulicMatch"] = 1; } string isMarketMatch = item["IsMarketMatch"].ToString(); if (isMarketMatch == "否") { item["IsMarketMatch"] = 0; } else { item["IsMarketMatch"] = 1; } string isEnable = item["IsEnable"].ToString(); if (isEnable == "否") { item["IsEnable"] = 0; } else { item["IsEnable"] = 1; } //dName = item["PartTypeCode"].ToString(); //sql = string.Format(@"select PartTypeCode from SYS_PartType where TypeName='{0}'", dName); //hID = db.Sql(sql).QuerySingle<string>(); //item["PartTypeCode"] = hID; } base.OnAfterHandleExcel(ref dtSheet); }