public void AddAssayResultWithUnitOfWork(AssayBill newAssayBill, Contract cont, IList <GrainQualityIndex> GrainQualityIndexList, List <string> resultList) { //AssayResult新增 for (int i = 0; i < GrainQualityIndexList.Count; i++) { AssayResult newAssayResult = new AssayResult(); newAssayResult.assay_bill_number = newAssayBill.assay_bill_number; newAssayResult.assay_result_comparision = IsPassed(GrainQualityIndexList[i], resultList[i]); newAssayResult.assay_result_number = newAssayBill.assay_bill_number + (resultList.Count - GrainQualityIndexList.Count + i + 1).ToString("D2"); if (cont != null && cont.ContractGrainQualityIndexes.Count > 0) { if (cont.ContractGrainQualityIndexes.SingleOrDefault(cgq => cgq.GrainQualityIndex == GrainQualityIndexList[i]) != null) { newAssayResult.assay_result_standard = cont.ContractGrainQualityIndexes.SingleOrDefault(cgq => cgq.GrainQualityIndex == GrainQualityIndexList[i]).contract_quality_index_value; } else { newAssayResult.assay_result_standard = GrainQualityIndexList[i].value; } } else { newAssayResult.assay_result_standard = GrainQualityIndexList[i].value; } newAssayResult.assay_result_value = resultList[i]; newAssayResult.assay_way_type = 1; newAssayResult.grain_quality_index = GrainQualityIndexList[i].index_id; _unitOfWork.AddAction(newAssayResult, DataActions.Add); } }
public void DelAssayResult(AssayResult delAssayResult) { try { _assayResultDal.Delete(delAssayResult); } catch (RepositoryException ex) { throw ex; } }
public AssayResult UpdAssayResult(AssayResult newAssayResult) { AssayResult reAssayResult = null; try { _assayResultDal.Update(newAssayResult); reAssayResult = newAssayResult; } catch (RepositoryException ex) { throw ex; } return(reAssayResult); }
/// <summary> /// /// </summary> /// <param name="arList">检测值列表</param> /// <param name="org">组织机构</param> /// <param name="goodsKindID">粮食品种</param> /// <param name="cont">合同</param> /// <returns>返回等级,-2表示异常,-1表示无等级基础数据,0表示未获取到组织机构对应的等级判定</returns> public int JudgeGrainGrade(IList <AssayResult> arList, OrganizationDepartment org, int goodsKindID, out decimal unitPrice) { int graidGrade = 0; unitPrice = 0; IList <AssayBasicData> GrainGradeList = GetGrainGrade().ToList(); if (GrainGradeList == null || GrainGradeList.Count == 0) { return(-1); } try { List <TargetPrice> TargetPriceList; if (org.TargetPrices.Count == 0) { //未关联组织机构,直接找关联粮食品种的TargetPrice TargetPriceList = _targetPriceService.GetTargetPricesByGoodsKindID(goodsKindID).OrderByDescending(tp => decimal.Parse(tp.min_value)).ToList(); } else { TargetPriceList = org.TargetPrices.Where( tp => tp.grain_kind == goodsKindID).OrderByDescending( otp => decimal.Parse(otp.min_value)).ToList(); } if (TargetPriceList == null || TargetPriceList.Count == 0) { return(0); //如果没有对应的等级判定,就立即返回0 } //选取默认第一个TargetPrice的grain_quality_index为检索项 AssayResult newar = arList.SingleOrDefault(ar => ar.grain_quality_index == TargetPriceList[0].grain_quality_index.Value); if (newar == null) { return(0); } //判断 string grain_grade = ""; #region //////////////////////////////////////////判定等级//////////////////////////////////// for (int i = 0; i < TargetPriceList.Count; i++) { int Result = -1; if (!TargetPriceList[i].min_tag.HasValue) { continue; } switch (TargetPriceList[i].min_tag.Value) { case 0: if (decimal.Parse(newar.assay_result_value) > decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; case 1: if (decimal.Parse(newar.assay_result_value) >= decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; case 2: if (decimal.Parse(newar.assay_result_value) < decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; case 3: if (decimal.Parse(newar.assay_result_value) <= decimal.Parse(TargetPriceList[i].min_value)) { Result = 0; unitPrice = TargetPriceList[i].price.Value; } break; default: Result = -1; break; } if (Result != -1) //满足条件“一等” { switch (i) { case 0: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.一等); break; case 1: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.二等);; break; case 2: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.等); break; case 3: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.四等); break; case 4: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.五等); break; case 5: grain_grade = Enum.GetName(typeof(GrainGrade), GrainGrade.等外); break; default: grain_grade = string.Empty; break; } break; // 赋值以后可退出循环 } } AssayBasicData abd = GrainGradeList.Single(gg => gg.name == grain_grade); if (abd != null) { graidGrade = abd.basic_data_id; } #endregion return(graidGrade); } catch { //返回-2是异常 return(-2); } }