/// <summary> /// 保存实体数据(新增、修改) /// </summary> /// <param name="keyValue">主键</param> /// <returns></returns> public void SaveEntity(string keyValue, Mes_MaterInHeadEntity entity, List <Mes_MaterInDetailEntity> mes_MaterInDetailList) { try { materInBillService.SaveEntity(keyValue, entity, mes_MaterInDetailList); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowBusinessException(ex); } } }
/// <summary> /// 保存实体数据(新增、修改) /// </summary> /// <param name="keyValue">主键</param> /// <returns></returns> public void SaveEntity(string keyValue, Mes_MaterInHeadEntity entity, List <Mes_MaterInDetailEntity> mes_MaterInDetailList) { var db = this.BaseRepository().BeginTrans(); try { if (!string.IsNullOrEmpty(keyValue)) { var mes_MaterInHeadEntityTmp = GetMes_MaterInHeadEntity(keyValue); entity.Modify(keyValue); db.Update(entity); db.Delete <Mes_MaterInDetailEntity>(t => t.M_MaterInNo == mes_MaterInHeadEntityTmp.M_MaterInNo); foreach (Mes_MaterInDetailEntity item in mes_MaterInDetailList) { item.Create(); item.M_MaterInNo = mes_MaterInHeadEntityTmp.M_MaterInNo; item.M_OrderNo = null; db.Insert(item); } } else { var dp = new DynamicParameters(new { }); if (entity.M_OrderKind == ErpEnums.OrderKindEnum.NoProduct) { dp.Add("@BillType", "入库单"); dp.Add("@Doucno", "", DbType.String, ParameterDirection.Output); db.ExecuteByProc("sp_GetDoucno", dp); } else { dp.Add("@BillType", "成品入库单"); dp.Add("@Doucno", "", DbType.String, ParameterDirection.Output); db.ExecuteByProc("sp_GetDoucno", dp); } var billNo = dp.Get <string>("@Doucno"); //存储过程返回单号 entity.M_MaterInNo = billNo; entity.Create(); db.Insert(entity); foreach (Mes_MaterInDetailEntity item in mes_MaterInDetailList) { item.Create(); item.M_MaterInNo = entity.M_MaterInNo; item.M_OrderNo = null; //item.M_Kind = entity.M_Kind; db.Insert(item); } } db.Commit(); } catch (Exception ex) { db.Rollback(); if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } }