/// <summary> /// 创建出库单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Press(object sender, EventArgs e) { try { GetRows(); int TId = int.Parse(TypeId); OutboundOrderInputDto outboundOrderInput = new OutboundOrderInputDto() { BUSINESSDATE = DPickerCO.Value, MODIFYUSER = UserId, CREATEUSER = UserId, HANDLEDATE = DateTime.Now, LOCATIONID = LocationId, NOTE = txtNote.Text, HANDLEMAN = HManId, RowInputDtos = rowsInputDtos, TYPE = TId }; ReturnInfo returnInfo = _autofacConfig.ConsumablesService.AddOutboundOrder(outboundOrderInput); if (returnInfo.IsSuccess) { ShowResult = ShowResult.Yes; Toast("添加成功"); Close(); } else { Toast(returnInfo.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 添加出库单 /// </summary> /// <param name="inputDto">出库单信息</param> /// <returns></returns> public ReturnInfo AddOutboundOrder(OutboundOrderInputDto inputDto) { ReturnInfo rInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); string maxId = _outboundOrderRepository.GetMaxId(); string OoId = Helper.GenerateIDEx("OO", maxId); inputDto.OOID = OoId; sb.Append(Helper.BasicValidate(inputDto).ToString()); if (sb.Length == 0) { var outbound = Mapper.Map <OutboundOrderInputDto, OutboundOrder>(inputDto); outbound.CREATEDATE = DateTime.Now; outbound.MODIFYDATE = DateTime.Now; try { _unitOfWork.RegisterNew(outbound); foreach (var rowInput in inputDto.RowInputDtos) { OutboundOrderRow row = new OutboundOrderRow { CID = rowInput.CID, MONEY = rowInput.MONEY, CREATEUSER = inputDto.CREATEUSER, CREATEDATE = DateTime.Now, MODIFYUSER = inputDto.MODIFYUSER, MODIFYDATE = DateTime.Now, NOTE = rowInput.NOTE, OOID = OoId, QUANTITY = rowInput.QUANTITY }; _unitOfWork.RegisterNew(row); //修改库存 ConQuant quant = _conQuantRepository.GetQuants(inputDto.LOCATIONID, rowInput.CID) .FirstOrDefault(); if (quant != null) { quant.QUANTITY = quant.QUANTITY - rowInput.QUANTITY; quant.MODIFYDATE = DateTime.Now; quant.MODIFYUSER = inputDto.MODIFYUSER; _unitOfWork.RegisterDirty(quant); } //添加处理记录 var pr = new AssProcessRecord { ASSID = "", CID = rowInput.CID, CREATEDATE = DateTime.Now, CREATEUSER = inputDto.CREATEUSER, HANDLEDATE = DateTime.Now, HANDLEMAN = inputDto.HANDLEMAN, MODIFYDATE = DateTime.Now, MODIFYUSER = inputDto.MODIFYUSER, PROCESSCONTENT = inputDto.CREATEUSER + "出库了" + row.CID + ",数量为" + rowInput.QUANTITY, PROCESSMODE = (int)PROCESSMODE.出库, QUANTITY = rowInput.QUANTITY }; _unitOfWork.RegisterNew(pr); } bool result = _unitOfWork.Commit(); rInfo.IsSuccess = result; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } catch (Exception ex) { _unitOfWork.Rollback(); sb.Append(ex.Message); rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } } else { rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } }