public ActionResult SubmitGoodsInList(List <GoodsEntity> listGoodsEntity) { if (listGoodsEntity == null) { return(Error("没有可入库商品信息!请确认存在待入库商品!")); } using (DbTransaction trans = utity.Transation) { try { bool result = false; int success = 0; var goodsInCode = PosBLL.instance.GetBatchNumber("IN"); var goodsInEntiy = new GoodsInEntity(); listGoodsEntity.ForEach(item => { Mapper.Initialize(m => m.CreateMap <GoodsEntity, GoodsInDetailEntity>()); var mapGoodsInDetail = Mapper.Map <GoodsInDetailEntity>(item); mapGoodsInDetail.ID = Guid.NewGuid(); mapGoodsInDetail.GoodsInCode = goodsInCode; if (!UserInfo.Instance.IsAdmin) { mapGoodsInDetail.StoreID = UserInfo.Instance.StoreID; } if (mapGoodsInDetail.ProductionDate <= DateTime.MinValue) { mapGoodsInDetail.ProductionDate = null; } success += StockBLL.Instance.InsertGoodsInDetail(mapGoodsInDetail, trans); }); if (success > 0) { goodsInEntiy.GoodsInCode = goodsInCode; goodsInEntiy.GoodsInDate = DateTime.Now; goodsInEntiy.GoodsInHumanID = UserInfo.Instance.ID; goodsInEntiy.GoodsInHumanName = UserInfo.Instance.RealName; goodsInEntiy.GoodsInQuantity = listGoodsEntity.Sum(item => item.InQuantityStock); goodsInEntiy.GoodsInAmount = listGoodsEntity.Sum(item => item.InstockAmount); goodsInEntiy.StoreID = UserInfo.Instance.StoreID; int res = StockBLL.Instance.InsertGoodsIn(goodsInEntiy, trans); result = res > 0; } if (result) { trans.Commit(); return(Success($"商品入库成功!共入库{listGoodsEntity.Count()}类商品,{listGoodsEntity.Sum(item => item.InQuantityStock)}件。")); } else { trans.Rollback(); return(Error("商品入库失败!")); } } catch (Exception e) { trans.Rollback(); return(Error($"商品入库失败。失败原因:{e.Message}")); } } }
public static int InsertGoodsIn(GoodsInEntity entity, DbTransaction trans) { var res = utity.ExecuteNonQuerySp(trans, "usp_InsertGoodsIn", new object[] { entity.ID, entity.StoreID, entity.GoodsInCode, entity.GoodsInDate, entity.GoodsInQuantity, entity.GoodsInAmount, entity.GoodsInHumanID, entity.GoodsInHumanName, entity.Remrks, entity.GoodsInType, entity.GoodsInTypeName }); return(res); }
public int InsertGoodsIn(GoodsInEntity entity, DbTransaction trans) { return(StockDAL.InsertGoodsIn(entity, trans)); }
private void GoodsIn() { var msg = string.Empty; bool result = false; if (!(gvGoodsInList.RowCount > 0)) { ShowMessage("没有可入库商品,请先添加到到入库列表!"); return; } if (cboGoodsInType.EditValue == null) { ShowMessage("请选择入库类型!"); return; } var listGoodsEntity = gvGoodsInList.DataSource as List <GoodsEntity>; using (DbTransaction trans = utity.Transation) { try { int success = 0; var goodsInCode = PosBLL.instance.GetBatchNumber("IN"); var goodsInEntiy = new GoodsInEntity(); listGoodsEntity.ForEach(item => { Mapper.Initialize(m => m.CreateMap <GoodsEntity, GoodsInDetailEntity>()); var mapGoodsInDetail = Mapper.Map <GoodsInDetailEntity>(item); mapGoodsInDetail.ID = Guid.NewGuid(); mapGoodsInDetail.GoodsInCode = goodsInCode; mapGoodsInDetail.StoreID = UserInfo.Instance.StoreID; if (mapGoodsInDetail.ProductionDate <= DateTime.MinValue) { mapGoodsInDetail.ProductionDate = null; } success += StockBLL.Instance.InsertGoodsInDetail(mapGoodsInDetail, trans); }); if (success > 0) { var comboxItem = cboGoodsInType.EditValue as BindUtil.ComboBoxItem; goodsInEntiy.GoodsInCode = goodsInCode; goodsInEntiy.GoodsInDate = DateTime.Now; goodsInEntiy.GoodsInHumanID = UserInfo.Instance.ID; goodsInEntiy.GoodsInHumanName = UserInfo.Instance.RealName; goodsInEntiy.GoodsInQuantity = listGoodsEntity.Sum(item => item.InQuantityStock); goodsInEntiy.GoodsInAmount = listGoodsEntity.Sum(item => item.InstockAmount); goodsInEntiy.StoreID = UserInfo.Instance.StoreID; goodsInEntiy.GoodsInType = comboxItem.Value.ToInt32(); goodsInEntiy.GoodsInTypeName = comboxItem.Text; goodsInEntiy.Remrks = txtMemo.Text; int res = StockBLL.Instance.InsertGoodsIn(goodsInEntiy, trans); result = res > 0; } if (result) { trans.Commit(); msg = $"商品入库成功!共入库{listGoodsEntity.Count()}类商品,{listGoodsEntity.Sum(item => item.InQuantityStock)}件"; ShowMessage(msg); listGoods.Clear(); RefreshLoadGrid(); } else { trans.Rollback(); msg = "商品入库失败"; ShowMessage(msg); } } catch (Exception e) { trans.Rollback(); msg = $"商品入库失败。失败原因:{e.Message}"; ShowMessage(msg); } WriteLog(new PartialLog { Description = msg, ModuleName = "商品入库", Result = result?ResultType.success.ToString() : ResultType.error.ToString(), Type = LogType.CS.ToString() }); } }