/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Press(object sender, EventArgs e) { try { AssInventoryInputDto assInventoryInput = new AssInventoryInputDto() { HANDLEMAN = HManId, CREATEUSER = UserId, LOCATIONID = LocationId, TYPEID = typeId, DEPARTMENTID = DepId, IsEnd = false, MODIFYUSER = UserId, NAME = txtName.Text }; ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventory(assInventoryInput); if (returnInfo.IsSuccess) { ShowResult = ShowResult.Yes; Toast("添加成功"); Close(); } else { throw new Exception(returnInfo.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Press(object sender, EventArgs e) { try { if (btnManager.Tag == null) { throw new Exception("请选择盘点人!"); } if (btnWareHouse.Tag == null) { throw new Exception("请选择仓库!"); } string typeId = ""; string stId = ""; string slId = ""; if (btnType.Tag != null) { typeId = btnType.Tag.ToString(); } if (btnST.Tag != null) { stId = btnST.Tag.ToString(); } if (btnSL.Tag != null) { slId = btnSL.Tag.ToString(); } AssInventoryInputDto assInventoryInput = new AssInventoryInputDto() { HANDLEMAN = btnManager.Tag.ToString(), CREATEUSER = UserId, // LOCATIONID = LocationId, TYPEID = typeId, // DEPARTMENTID = DepId, IsEnd = false, MODIFYUSER = UserId, WAREID = btnWareHouse.Tag.ToString(), STID = stId, SLID = slId, NAME = txtName.Text }; ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventory(assInventoryInput); if (returnInfo.IsSuccess) { ShowResult = ShowResult.Yes; Toast("添加成功"); Close(); } else { throw new Exception(returnInfo.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 添加盘点单 /// </summary> /// <param name="inputDto">盘点单信息</param> /// <returns></returns> public ReturnInfo AddAssInventory(AssInventoryInputDto inputDto) { //验证 ReturnInfo rInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); string maxId = _assInventoryRepository.GetMaxId(); string IId = Helper.GenerateIDEx("AI", maxId); inputDto.IID = IId; sb.Append(Helper.BasicValidate(inputDto).ToString()); if (sb.Length == 0) { var assbo = Mapper.Map <AssInventoryInputDto, AssInventory>(inputDto); assbo.STATUS = (int)InventoryStatus.盘点未开始; assbo.CREATEDATE = DateTime.Now; assbo.MODIFYDATE = DateTime.Now; try { _unitOfWork.RegisterNew(assbo); 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); } }
private void ibUpload_Press(object sender, EventArgs e) { try { ReturnInfo rInfo = new ReturnInfo(); AssInventoryInputDto inputDto = new AssInventoryInputDto { IID = IID, IsEnd = false, AssDictionary = assDictionary }; inputDto.IsEnd = false; rInfo = _autofacConfig.AssInventoryService.UpdateInventory(inputDto); Toast(rInfo.IsSuccess ? "上传结果成功." : rInfo.ErrorInfo); } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 点击ActionButton /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmAssInventoryResult_ActionButtonPress(object sender, ActionButtonPressEventArgs e) { try { ReturnInfo rInfo = new ReturnInfo(); switch (e.Index) { case 0: //上传结果 AssInventoryInputDto inputDto = new AssInventoryInputDto { IID = IID, IsEnd = false, AssDictionary = assDictionary }; inputDto.IsEnd = false; rInfo = _autofacConfig.AssInventoryService.UpdateInventory(inputDto); Toast(rInfo.IsSuccess ? "上传结果成功." : rInfo.ErrorInfo); break; case 1: //盘点结束 Dictionary <string, int> assDictionary2 = new Dictionary <string, int>(); foreach (var key in assDictionary.Keys) { if (assDictionary[key] == (int)ResultStatus.待盘点) { assDictionary2.Add(key, (int)ResultStatus.盘亏); } else { assDictionary2.Add(key, assDictionary[key]); } } AssInventoryInputDto inputDto2 = new AssInventoryInputDto { IID = IID, IsEnd = false, AssDictionary = assDictionary2 }; inputDto2.IsEnd = true; rInfo = _autofacConfig.AssInventoryService.UpdateInventory(inputDto2); if (rInfo.IsSuccess) { ShowResult = ShowResult.Yes; Close(); Toast("盘点结束成功."); } else { Toast(rInfo.ErrorInfo); } break; default: break; } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 更新盘点单 /// </summary> /// <param name="inputDto">盘点单信息</param> /// <returns></returns> public ReturnInfo UpdateInventory(AssInventoryInputDto inputDto) { ReturnInfo rInfo = new ReturnInfo(); StringBuilder sb = new StringBuilder(); var inventory = _assInventoryRepository.GetAssInventoryByID(inputDto.IID).FirstOrDefault(); if (inventory == null) { sb.Append("未找到该编号的盘点单."); rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } else { if (inventory.STATUS == (int)InventoryStatus.盘点结束) { sb.Append("该盘点单已经盘点结束."); rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } try { List <string> assList = _assInventoryResultRepository.GetResultsByStatus(inputDto.IID, null).Select(a => a.ASSID).ToList(); int count = inputDto.AssDictionary.Count; //更新盘点单结果行项 foreach (var key in inputDto.AssDictionary.Keys) { if (assList.Contains(key)) { //更新 var inventoryresult = _assInventoryResultRepository.GetResultsByAssId(inputDto.IID, key) .FirstOrDefault(); if (inventoryresult != null) { inventoryresult.RESULT = inputDto.AssDictionary[key]; if (inventoryresult.RESULT == (int)ResultStatus.待盘点) { count--; } } _unitOfWork.RegisterDirty(inventoryresult); } else { //添加 AssInventoryResult result = new AssInventoryResult { IID = inputDto.IID, ASSID = key, RESULT = inputDto.AssDictionary[key], CREATEDATE = DateTime.Now, MODIFYDATE = DateTime.Now, CREATEUSER = inputDto.MODIFYUSER, MODIFYUSER = inputDto.MODIFYUSER }; _unitOfWork.RegisterNew(result); } if (inputDto.IsEnd) { //如果盘点结束,就更新资产状态为非锁定 var assets = _assetsRepository.GetByID(key).FirstOrDefault(); if (assets != null) { assets.ISLOCKED = 0; _unitOfWork.RegisterDirty(assets); } } } //如果盘点结束,就更新盘点单状态 inventory.MODIFYUSER = inputDto.MODIFYUSER; inventory.MODIFYDATE = DateTime.Now; inventory.RESULTCOUNT = count; if (inputDto.IsEnd) { inventory.STATUS = (int)InventoryStatus.盘点结束; } _unitOfWork.RegisterDirty(inventory); _unitOfWork.Commit(); rInfo.IsSuccess = true; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } catch (Exception ex) { _unitOfWork.Rollback(); sb.Append(ex.Message); rInfo.IsSuccess = false; rInfo.ErrorInfo = sb.ToString(); return(rInfo); } } }
private void ibStart_Press(object sender, EventArgs e) { try { if (Status == InventoryStatus.盘点中) { //盘点结束 ReturnInfo rInfo = new ReturnInfo(); Dictionary <string, int> assDictionary2 = new Dictionary <string, int>(); foreach (var key in assDictionary.Keys) { if (assDictionary[key] == (int)ResultStatus.待盘点) { assDictionary2.Add(key, (int)ResultStatus.盘亏); } else { assDictionary2.Add(key, assDictionary[key]); } } AssInventoryInputDto inputDto2 = new AssInventoryInputDto { IID = IID, IsEnd = false, AssDictionary = assDictionary2 }; inputDto2.IsEnd = true; rInfo = _autofacConfig.AssInventoryService.UpdateInventory(inputDto2); if (rInfo.IsSuccess) { ShowResult = ShowResult.Yes; Close(); Toast("盘点结束成功."); } else { Toast(rInfo.ErrorInfo); } } else { //开始盘点 AddAIResultInputDto inputDto = new AddAIResultInputDto { IID = IID }; var inventory = _autofacConfig.AssInventoryService.GetAssInventoryById(IID); ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventoryResult(inputDto); if (returnInfo.IsSuccess) { Status = InventoryStatus.盘点中; ibStart.Text = "结束盘点"; ibUpload.Visible = true; plScan.Visible = true; } else { Toast(returnInfo.ErrorInfo); } } } catch (Exception ex) { Toast(ex.Message); } }