/// <summary> /// 获取行项数据 /// </summary> /// <returns></returns> public AssTransferOrderRow getData() { if (Check.Checked) { AssTransferOrderRow Data = new AssTransferOrderRow(); Data.TOROWID = Check.BindDataValue.ToString(); Data.IMAGE = imgAss.BindDisplayValue.ToString(); Data.ASSID = lblName.BindDataValue.ToString(); Data.SN = lblSN.BindDataValue.ToString(); if (((frmAssTransferDeal)Form).Type == PROCESSMODE.调拨确认) { Data.TRANSFEREDQTY = 1; Data.STATUS = 1; } else { Data.TRANSFERCANCELQTY = 1; Data.STATUS = 2; } return(Data); } else { return(null); } }
/// <summary> /// 得到选中行数据 /// </summary> public AssTransferOrderRow getData() { if (Check.Checked == true) { if (numNumber.Value > Convert.ToDouble(lblNumber.BindDataValue)) { if (((frmTransferDeal)Form).Type == PROCESSMODE.调拨确认) { throw new Exception("确认数量不能超过调拨数量!"); } else { throw new Exception("取消数量不能超过调拨数量!"); } } AssTransferOrderRow Data = new AssTransferOrderRow(); Data.TOROWID = Check.BindDataValue.ToString(); Data.IMAGE = imgAss.BindDisplayValue.ToString(); Data.CID = lblName.BindDataValue.ToString(); if (((frmTransferDeal)Form).Type == PROCESSMODE.调拨确认) { if (numNumber.Value == 0 || (decimal)numNumber.Value == Convert.ToDecimal(lblNumber.BindDataValue)) { Data.STATUS = 1; Data.TRANSFEREDQTY = Convert.ToDecimal(lblNumber.BindDataValue); } else { Data.TRANSFEREDQTY = Convert.ToDecimal(numNumber.Value); Data.STATUS = 0; } } else { if (numNumber.Value == 0 || (decimal)numNumber.Value == Convert.ToDecimal(lblNumber.BindDataValue)) { Data.STATUS = 2; Data.TRANSFERCANCELQTY = Convert.ToDecimal(lblNumber.BindDataValue); } else { Data.TRANSFERCANCELQTY = Convert.ToDecimal(numNumber.Value); Data.STATUS = 0; } } Data.SLID = lblLocation.BindDataValue.ToString(); return(Data); } else { return(null); } }
public String CID; //耗材编号 #endregion /// <summary> /// 创建调拨单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Press(object sender, EventArgs e) { try { if (btnDealInMan.Tag == null) { throw new Exception("调入管理员不能为空"); } else { TransferData.MANAGER = btnDealInMan.Tag.ToString(); //调入管理员 } if (btnLocation.Tag == null) { throw new Exception("调入区域不能为空"); } else { TransferData.DESLOCATIONID = btnLocation.Tag.ToString(); //调入区域 } if (btnDealMan.Tag == null) { throw new Exception("处理人不能为空"); } else { TransferData.HANDLEMAN = btnDealMan.Tag.ToString(); //处理人 } TransferData.TRANSFERDATE = DatePicker.Value; //维修花费 TransferData.NOTE = txtNote.Text; //备注 TransferData.STATUS = 0; //维修单状态 TransferData.CREATEUSER = Client.Session["UserID"].ToString(); //创建用户 TransferData.CREATEDATE = DateTime.Now; List <AssTransferOrderRow> Data = new List <AssTransferOrderRow>(); if (ListAssets.Rows.Count == 0) { throw new Exception("调拨行项不能为空!"); } foreach (ListViewRow Row in ListAssets.Rows) { frmOrderCreateLayout Layout = Row.Control as frmOrderCreateLayout; ConsumablesOrderRow RowData = Layout.getData(); AssTransferOrderRow assRow = new AssTransferOrderRow(); assRow.IMAGE = RowData.IMAGE; assRow.CID = RowData.CID; assRow.INTRANSFERQTY = RowData.QTY; assRow.LOCATIONID = RowData.LOCATIONID; assRow.STATUS = RowData.STATUS; assRow.CREATEDATE = DateTime.Now; Data.Add(assRow); } TransferData.Rows = Data; ReturnInfo r = autofacConfig.assTransferOrderService.AddAssTransferOrder(TransferData, OperateType.耗材); if (r.IsSuccess) { ShowResult = ShowResult.Yes; Form.Close(); //创建成功 Toast("创建调拨单成功!"); } else { throw new Exception(r.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }
/// <summary> /// 创建ProcessRecorder表数据 /// </summary> /// <param name="Data"></param> /// <param name="RowData"></param> /// <param name="Type"></param> public void CreatePR(TOInputDto Data, AssTransferOrderRow RowData, PROCESSMODE Type) { AssProcessRecord assProcessRecord = new AssProcessRecord { ASSID = RowData.ASSID, //资产条码 CID = RowData.CID, //耗材编号 CREATEDATE = DateTime.Now, //创建时间 CREATEUSER = Data.CREATEUSER, //创建用户 HANDLEDATE = DateTime.Now, //处理时间 MODIFYDATE = DateTime.Now, //修改时间 MODIFYUSER = Data.MODIFYUSER, //修改用户 }; switch (Type) { case PROCESSMODE.调拨: assProcessRecord.QUANTITY = RowData.INTRANSFERQTY; assProcessRecord.PROCESSMODE = (Int32)PROCESSMODE.调拨; assProcessRecord.HANDLEMAN = Data.CREATEUSER; break; case PROCESSMODE.调拨确认: assProcessRecord.QUANTITY = Convert.ToDecimal(RowData.TRANSFEREDQTY); assProcessRecord.PROCESSMODE = (Int32)PROCESSMODE.调拨确认; assProcessRecord.HANDLEMAN = Data.MODIFYUSER; break; case PROCESSMODE.调拨取消: assProcessRecord.QUANTITY = Convert.ToDecimal(RowData.TRANSFERCANCELQTY); assProcessRecord.PROCESSMODE = (Int32)PROCESSMODE.调拨取消; assProcessRecord.HANDLEMAN = Data.MODIFYUSER; break; } if (String.IsNullOrEmpty(RowData.ASSID) == false) { switch (Type) //根据操作模式,输入操作内容 { case PROCESSMODE.调拨: assProcessRecord.PROCESSCONTENT = Data.CREATEUSER + "调拨了物品编号为" + RowData.ASSID + "的资产"; break; case PROCESSMODE.调拨确认: assProcessRecord.PROCESSCONTENT = Data.CREATEUSER + "确认调拨了物品编号为" + RowData.ASSID + "的资产"; break; case PROCESSMODE.调拨取消: assProcessRecord.PROCESSCONTENT = Data.CREATEUSER + "取消调拨了物品编号为" + RowData.ASSID + "的资产"; break; } } else { assProcessRecord.CID = RowData.CID; switch (Type) //根据操作模式,输入操作内容 { case PROCESSMODE.调拨: assProcessRecord.PROCESSCONTENT = Data.CREATEUSER + "调拨了耗材编号为" + RowData.CID + ",数量为" + RowData.INTRANSFERQTY; break; case PROCESSMODE.调拨确认: assProcessRecord.PROCESSCONTENT = Data.CREATEUSER + "确认调拨了耗材编号为" + RowData.CID + ",数量为" + RowData.TRANSFEREDQTY; break; case PROCESSMODE.调拨取消: assProcessRecord.PROCESSCONTENT = Data.CREATEUSER + "取消调拨了耗材编号为" + RowData.CID + ",数量为" + RowData.TRANSFERCANCELQTY; break; } } _unitOfWork.RegisterNew(assProcessRecord); }
/// <summary> /// 更新报修单行项 /// </summary> /// <param name="entity"></param> /// <returns></returns> public void UpdateAssTransferOrderRow(TOInputDto entity, PROCESSMODE ProType, OperateType type) { AssTransferOrderRow assROR = new AssTransferOrderRow(); foreach (AssTransferOrderRow Row in entity.Rows) { assROR = _AssTransferOrderRowRepository.GetByID(entity.TOID, Row.TOROWID).FirstOrDefault(); if (assROR == null) { throw new Exception("调拨单行项:" + Row.TOROWID + "不存在!"); } switch (ProType) { case PROCESSMODE.调拨确认: assROR.INTRANSFERQTY = assROR.INTRANSFERQTY - Convert.ToDecimal(Row.TRANSFEREDQTY); //确认调拨数量 if (Row.INTRANSFERQTY < 0) { throw new Exception("确认数量不能超过申请调拨数量!"); } assROR.TRANSFEREDQTY = Convert.ToDecimal(assROR.TRANSFEREDQTY) + Row.TRANSFEREDQTY; break; case PROCESSMODE.调拨取消: assROR.INTRANSFERQTY = assROR.INTRANSFERQTY - Convert.ToDecimal(Row.TRANSFERCANCELQTY); //取消调拨数量 if (Row.INTRANSFERQTY < 0) { throw new Exception("取消数量不能超过申请调拨数量!"); } assROR.TRANSFERCANCELQTY = Convert.ToDecimal(assROR.TRANSFERCANCELQTY) + Row.TRANSFERCANCELQTY; break; } if (assROR.INTRANSFERQTY == 0) //如果全部调拨完毕,则修改行项状态 { if (ProType == PROCESSMODE.调拨确认) { assROR.STATUS = 1; //调拨完成 } else { assROR.STATUS = 2; //调拨取消 } } //更新OrderRow数据 _unitOfWork.RegisterDirty(assROR); if (type == OperateType.资产) { Assets SNData = _AssetsRepository.GetByID(Row.ASSID).FirstOrDefault(); if (ProType == PROCESSMODE.调拨确认) { SNData.LOCATIONID = entity.DESLOCATIONID; //区域 } //修改AssetsSN表中资产状态 SNData.STATUS = (Int32)STATUS.闲置; //资产状态 _unitOfWork.RegisterDirty(SNData); //新建调拨行项 } else { ConQuant assQuant = new ConQuant(); //修改Quant表数据 assQuant.CID = Row.CID; //资产条码 if (ProType == PROCESSMODE.调拨确认) { assQuant.QUANTITY = Convert.ToDecimal(Row.TRANSFEREDQTY); //确认调入数量 assQuant.LOCATIONID = entity.DESLOCATIONID; //区域 } else { assQuant.QUANTITY = Convert.ToDecimal(Row.TRANSFERCANCELQTY); //取消调入数量 assQuant.LOCATIONID = Row.LOCATIONID; //区域 } ConQuant aq = _ConQuantRepository.GetByCID(Row.CID, assQuant.LOCATIONID).FirstOrDefault(); if (aq == null) //如果不存在当前库存地数据,则创建一条新数据 { assQuant.CREATEDATE = DateTime.Now; assQuant.CREATEUSER = entity.MODIFYUSER; assQuant.MODIFYDATE = DateTime.Now; assQuant.MODIFYUSER = entity.MODIFYUSER; _unitOfWork.RegisterNew(assQuant); } else //已有数据,修改库存数量 { aq.QUANTITY = aq.QUANTITY + assQuant.QUANTITY; _unitOfWork.RegisterDirty(aq); } } //往AssProcessRecord表添加数据 CreatePR(entity, Row, ProType); } }
/// <summary> /// 创建调拨单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Press(object sender, EventArgs e) { try { if (btnDealInMan.Tag == null) { throw new Exception("调入管理员不能为空"); } else { TransferData.MANAGER = btnDealInMan.Tag.ToString(); //调入管理员 } if (lblLocation.Tag == null) { throw new Exception("调入库位不能为空"); } else { string[] Datas = lblLocation.Tag.ToString().Split('/'); TransferData.WAREID = Datas[0]; //调入仓库 TransferData.STID = Datas[1]; //调入类型 TransferData.DESSLID = Datas[2]; //调入库位 } if (btnDealMan.Tag == null) { throw new Exception("处理人不能为空"); } else { TransferData.HANDLEMAN = btnDealMan.Tag.ToString(); //处理人 } TransferData.TRANSFERDATE = DatePicker.Value; //维修花费 TransferData.NOTE = txtNote.Text; //备注 TransferData.STATUS = 0; //维修单状态 TransferData.ISSNCONTROL = (Int32)ISSNCONTROL.启用; //是否属于SN TransferData.CREATEUSER = Client.Session["UserID"].ToString(); //创建用户 TransferData.CREATEDATE = DateTime.Now; List <AssTransferOrderRow> Data = new List <AssTransferOrderRow>(); if (ListAssetsSN.Rows.Count == 0) { throw new Exception("调拨行项不能为空!"); } foreach (ListViewRow Row in ListAssetsSN.Rows) { frmOrderCreateSNLayout Layout = Row.Control as frmOrderCreateSNLayout; AssetsOrderRow RowData = Layout.getData(); AssTransferOrderRow assRow = new AssTransferOrderRow(); Assets assets = autofacConfig.orderCommonService.GetAssetsByID(RowData.ASSID); assRow.IMAGE = RowData.IMAGE; assRow.ASSID = RowData.ASSID; assRow.INTRANSFERQTY = RowData.QTY; assRow.SN = RowData.SN; assRow.STATUS = RowData.STATUS; assRow.WAREID = assets.WAREID; assRow.STID = assets.STID; assRow.SLID = assets.SLID; assRow.CREATEDATE = DateTime.Now; Data.Add(assRow); } TransferData.Rows = Data; ReturnInfo r = autofacConfig.assTransferOrderService.AddAssTransferOrder(TransferData, OperateType.资产); if (r.IsSuccess) { ShowResult = ShowResult.Yes; Form.Close(); //创建成功 Toast("创建调拨单成功!"); } else { throw new Exception(r.ErrorInfo); } } catch (Exception ex) { Toast(ex.Message); } }