public void Save() { this.phaOutManager.Fp.StopCellEditing(); if (!this.Valid()) { return; } DialogResult rs = MessageBox.Show(Language.Msg("确认向" + this.phaOutManager.TargetDept.Name + "进行出库操作吗?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (rs == DialogResult.No) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } DataTable dtAddMofity = this.dt.GetChanges(DataRowState.Added | DataRowState.Modified); if (dtAddMofity == null || dtAddMofity.Rows.Count <= 0) { return; } this.phaOutManager.Fp.StopCellEditing(); Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在进行保存操作..请稍候"); System.Windows.Forms.Application.DoEvents(); #region 事务定义 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Pharmacy.Constant phaCons = new Neusoft.HISFC.BizLogic.Pharmacy.Constant(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //phaIntegrate.SetTrans(t.Trans); //phaCons.SetTrans(t.Trans); #endregion DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); string outListNO = ""; string inListNO = ""; //判断领用科室是否管理库存 bool isManagerStore = phaCons.IsManageStore(this.phaOutManager.TargetDept.ID); //如管理库存 则提示是否确认保存出库 if (isManagerStore) { Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); DialogResult rsResult = MessageBox.Show(Language.Msg(this.phaOutManager.TargetDept.Name + "管理库存。确认进行出库操作吗?\n出库时将直接更新对方库存"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (rsResult == DialogResult.No) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); return; } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在进行保存操作..请稍候"); System.Windows.Forms.Application.DoEvents(); } //一般出库对应的入库记录 Neusoft.HISFC.Models.Pharmacy.Input input = null; //-------原程序处理方式 // //如领用科室管理库存 则只处理出库记录、更新本科室库存 不处理入库记录和领药科室库存 待领药科室入库核准后才处理库存 // //如领药科室不管理库存 则处理出库记录、更新本科室库存,试用期间处理入库记录、更新领药科室库存 // // 正式使用后不处理入库记录和领药科室库存 // //只需对isManagerStore赋值改变 对下边入库记录处理的判断做下修改即可 // //更新领药科室库存的操作封装于入库函数内 和入库记录一同处理 可通过传入参数判断是否处理库存 //-------新程序处理方式 // 一般出库时,不管目标科室是不是管理库存,都直接设置出库记录状态为已核准。 // 目标科室管理库存时,对目标科室产生入库记录,状态为已核准 // 目标科室不管理库存时,对目标科室不产生入库记录 this.alPrintData = new ArrayList(); foreach (DataRow dr in dtAddMofity.Rows) { string key = dr["药品编码"].ToString() + dr["批号"].ToString(); Neusoft.HISFC.Models.Pharmacy.Output output = this.hsOutData[key] as Neusoft.HISFC.Models.Pharmacy.Output; output.Operation.ExamOper.ID = this.phaOutManager.OperInfo.ID; //审核人 output.Operation.ExamOper.OperTime = sysTime; //审核日期 output.Operation.Oper = output.Operation.ExamOper; //操作信息 #region 对数据来源为申请的数据进行处理 if (dr["数据来源"].ToString() == "1") { Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.hsApplyData[output.User02] as Neusoft.HISFC.Models.Pharmacy.ApplyOut; applyOut.State = "1"; //状态 审批 applyOut.Operation = output.Operation; //操作信息 if (this.itemManager.UpdateApplyOut(applyOut) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("更新" + output.Item.Name + "出库申请信息时出错"); return; } if (outListNO == "") { outListNO = applyOut.BillNO; } } #endregion #region 获取单据号 if (outListNO == "") { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 outListNO = phaIntegrate.GetInOutListNO(this.phaOutManager.DeptInfo.ID, false); if (outListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("获取新出库单号出错" + phaIntegrate.Err); return; } } output.OutListNO = outListNO; #endregion #region Output实体必要信息赋值 if (this.isUseMinUnit) //使用最小单位 { output.Quantity = NConvert.ToDecimal(dr["出库数量"]); //出库数量 } else //使用包装单位 { output.Quantity = NConvert.ToDecimal(dr["出库数量"]) * output.Item.PackQty; //出库数量 } output.StoreQty = output.StoreQty - output.Quantity; output.StoreCost = output.StoreQty * output.Item.PriceCollection.RetailPrice / output.Item.PackQty; output.Operation.ExamQty = output.Quantity; //审核数量 output.Memo = dr["备注"].ToString(); output.DrugedBillNO = "0"; //摆药单号 不能为空 output.GetPerson = this.phaOutManager.TargetPerson.ID; //领药人 //----原数据处理方式 //if (isManagerStore) //目标(领用)科室管理库存 // output.State = "1"; //审核 //else // output.State = "2"; //核准 //----现处理方式 对于一般出库 直接设置出库状态为2 output.State = "2"; if (this.isSpecialOut) //特殊出库 直接更新状态为核准 { output.SpecialFlag = "1"; output.State = "2"; } if (output.State == "2") { output.Operation.ApproveOper = output.Operation.Oper; } #endregion #region 以下信息在每次添加新数据时自动生成 output.PrivType = this.phaOutManager.PrivType.ID; //出库类型 output.SystemType = this.phaOutManager.PrivType.Memo; //系统类型 output.StockDept = this.phaOutManager.DeptInfo; //当前科室 output.TargetDept = this.phaOutManager.TargetDept; //目标科室 #endregion #region 形成目标科室的入库记录 #region 根据领药科室是否管理库存 在不管理库存的情况下才处理入库记录 if (!this.isSpecialOut) { input = new Neusoft.HISFC.Models.Pharmacy.Input(); //设置入库单号 if (inListNO == "") { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 inListNO = phaIntegrate.GetInOutListNO(this.phaOutManager.TargetDept.ID, false); if (inListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("对目标库存科室插入入库记录时获取入库单号出错") + this.itemManager.Err); return; } } //获取关联权限类型 关联权限类型不存在时 设置为默认值 if (this.privJoinClass3 != null) { input.PrivType = this.privJoinClass3.Class3Code; input.SystemType = this.privJoinClass3.Class3MeaningCode; } else { input.PrivType = "01"; //一般入库对应的用户类型 input.SystemType = "11"; //一般入库 } input.State = "2"; //已审批 input.StockDept = this.phaOutManager.TargetDept; //库存部门 input.TargetDept = this.phaOutManager.DeptInfo; //目标科室 供货单位 input.InListNO = inListNO; //入库单据号 input.OutListNO = outListNO; //出库单据号 input.Operation.ExamOper.ID = this.phaOutManager.OperInfo.ID; //审批人 input.Operation.ExamOper.OperTime = sysTime; //审批日期 input.Operation.ApproveOper = input.Operation.ExamOper; input.Operation.ApplyOper = input.Operation.ExamOper; decimal storeQty = 0; if (this.itemManager.GetStorageNum(this.phaOutManager.TargetDept.ID, output.Item.ID, out storeQty) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("获取" + output.Item.Name + "库存数量时发生错误" + this.itemManager.Err)); return; } input.StoreQty = storeQty + output.Quantity; //设置出库记录中对应的入库单据号 output.InListNO = inListNO; } else { input = null; } #endregion #endregion //原处理方式 第三个参数始终传入False if (this.itemManager.Output(output, input, isManagerStore) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("出库保存发生错误" + this.itemManager.Err); return; } this.alPrintData.Add(output); } Neusoft.FrameWork.Management.PublicTrans.Commit(); //for (int i = 0; i < this.dt.DefaultView.Count; i++) //{ // this.dt.DefaultView[i].BeginEdit(); //} Function.ShowMsg("保存成功"); DialogResult rsPrint = MessageBox.Show(Language.Msg("是否打印出库单?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rsPrint == DialogResult.Yes) { this.Print(); } this.Clear(); }
public void Save() { if (!this.Valid()) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } #region 判断是否选择了核准数据 bool isHaveCheck = false; bool isHaveUnCheck = false; foreach (DataRow dr in this.dt.Rows) { if (NConvert.ToBoolean(dr["核准"])) { isHaveCheck = true; } else { isHaveUnCheck = true; } } if (!isHaveCheck) { MessageBox.Show(Language.Msg("请选择需核准数据")); return; } if (isHaveUnCheck) { DialogResult rs = MessageBox.Show(Language.Msg("存在未选择数据 确认对这些药品不进行核准吗?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (rs == DialogResult.No) { return; } } #endregion Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //phaIntegrate.SetTrans(t.Trans); DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); string inListNO = ""; foreach (DataRow dr in this.dt.Rows) { if (!NConvert.ToBoolean(dr["核准"])) { continue; } string key = this.GetKey(dr); //{7F9E7287-5803-4b42-9CFD-61A17FF1A5D4} 由Hash表获取数据时需调用Clone函数 Neusoft.HISFC.Models.Pharmacy.Input input = (this.hsInData[key] as Neusoft.HISFC.Models.Pharmacy.Input).Clone(); input.Operation.ApproveOper.OperTime = sysTime; //核准日期 input.Operation.ApproveOper.ID = this.phaInManager.OperInfo.ID; //核准人 input.Operation.Oper = input.Operation.ApproveOper; if (input.ID == "" || input.InListNO == "" || input.GroupNO == 0) { #region 药房入库核准时 无入库记录 if (inListNO == "" && (input.InListNO == "" || input.InListNO == null)) { #region 获取新入库单号 if (input.OutListNO != "") { inListNO = input.OutListNO; } else { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 inListNO = phaIntegrate.GetInOutListNO(this.phaInManager.DeptInfo.ID, true); if (inListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("获取最新入库单号出错" + itemManager.Err)); return; } } input.InListNO = inListNO; #endregion } else { input.InListNO = inListNO; } decimal storageQty = 0; if (this.itemManager.GetStorageNum(this.phaInManager.DeptInfo.ID, input.Item.ID, out storageQty) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("获取库存数量时出错" + this.itemManager.Err)); return; } input.StoreQty = storageQty + input.Quantity; input.StoreCost = input.StoreQty / input.Item.PackQty * input.Item.PriceCollection.RetailPrice; input.Operation.ApplyOper = input.Operation.ApproveOper.Clone(); #endregion } if (this.isApproveEdit) { input.InvoiceNO = dr["发票号"].ToString().Trim(); input.Item.PriceCollection.PurchasePrice = NConvert.ToDecimal(dr["购入价"]); } input.StockDept.Memo = this.phaInManager.DeptInfo.Memo; //保存科室类别 PI药库 P药房 //更新库存标记 对药库不进行更新 对药房更新库存 if (this.itemManager.ApproveInput(input, input.StockDept.Memo == "PI"?"0":"1") == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("保存 " + dr["商品名称"].ToString() + " 时发生错误") + this.itemManager.Err); return; } } Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show(Language.Msg("保存成功")); this.Clear(); this.ShowSelectData(); }
protected override int OnSave(object sender, object neuObject) { if (this.Valid() == false) { return(-1); } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaProcess = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); //操作环境信息 Neusoft.HISFC.Models.Base.OperEnvironment operEnvironment = new Neusoft.HISFC.Models.Base.OperEnvironment(); operEnvironment.OperTime = sysTime; operEnvironment.ID = this.itemManager.Operator.ID; operEnvironment.Name = this.itemManager.Operator.Name; //当前库存科室 Neusoft.FrameWork.Models.NeuObject stockDept = ((Neusoft.HISFC.Models.Base.Employee) this.itemManager.Operator).Dept; //出库单号 string outListNO = phaProcess.GetInOutListNO(stockDept.ID, false); //入库批次号 string groupNO = this.itemManager.GetNewGroupNO(); if (groupNO == null) { Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("获取新协定处方批次号发生错误 " + this.itemManager.Err); return(-1); } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("协定处方包装库存处理..."); Application.DoEvents(); for (int i = 0; i < this.fpPackageList_Sheet1.Rows.Count; i++) { //1. 获取当前进行包装处理的协定处方 Neusoft.HISFC.Models.Pharmacy.Item selectNostrum = this.fpPackageList_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Pharmacy.Item; //计划数量 decimal planQty = Neusoft.FrameWork.Function.NConvert.ToDecimal(this.fpPackageList_Sheet1.Cells[i, (int)ColPackageList.ColPlanQty].Text); Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在对 " + selectNostrum.Name + " 进行库存处理"); Application.DoEvents(); //2. 获取协定处方构成明细 List <Neusoft.HISFC.Models.Pharmacy.Nostrum> detailNostrumList = this.fpPackageList_Sheet1.Cells[i, (int)ColPackageList.ColDetail].Tag as List <Neusoft.HISFC.Models.Pharmacy.Nostrum>; if (detailNostrumList == null) { detailNostrumList = this.itemManager.QueryNostrumDetail(selectNostrum.ID); } //3. 根据协定处方构成明细,对明细药品进行出库处理 foreach (Neusoft.HISFC.Models.Pharmacy.Nostrum info in detailNostrumList) { #region 处方明细出库 //3.1 对明细药品逐条进行出库处理 Neusoft.HISFC.Models.Pharmacy.Item detailItem = this.itemManager.GetItem(info.Item.ID); if (detailItem == null) { Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("处理处方明细出库,根据药品编码获取药品名称发生错误 " + this.itemManager.Err); return(-1); } //info.Qty 即协定处方维护内的数量即为生产1单位成品所需的数量,此处直接相乘即所需明细的最小单位库存量 decimal outQty = planQty * info.Qty; if (this.itemManager.NostrumPackageOutput(detailItem, outQty, stockDept, operEnvironment, outListNO) == -1) { Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("处理处方明细出库,进行出库操作发生错误 " + this.itemManager.Err); return(-1); } #endregion } //4. 对协定处方进行入库处理 #region 处方入库处理 Neusoft.HISFC.Models.Pharmacy.Input input = new Neusoft.HISFC.Models.Pharmacy.Input(); decimal inQty = planQty * selectNostrum.PackQty; #region 实体赋值 input.Class2Type = "0310"; input.SystemType = Neusoft.HISFC.Models.Base.EnumIMAInTypeService.GetNameFromEnum(Neusoft.HISFC.Models.Base.EnumIMAInType.ProduceInput); //系统类型=出库申请类型; //"R1" 制剂管理类型 input.PrivType = input.SystemType; //制剂管理类型 input.InListNO = outListNO; input.Item = selectNostrum; input.StockDept = stockDept; input.Company = stockDept; input.Producer = stockDept; input.TargetDept = stockDept; input.GroupNO = Neusoft.FrameWork.Function.NConvert.ToDecimal(groupNO); input.BatchNO = this.fpPackageList_Sheet1.Cells[i, (int)ColPackageList.ColBatchNO].Text; if (string.IsNullOrEmpty(input.BatchNO) == true) { input.BatchNO = "1"; } input.ValidTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.fpPackageList_Sheet1.Cells[i, (int)ColPackageList.ColValidDate].Text); if (input.ValidTime < sysTime) { input.ValidTime = sysTime.AddYears(10); } input.Quantity = inQty; input.Operation.ApplyQty = inQty; input.Operation.ExamQty = inQty; input.Operation.ApplyOper = operEnvironment; input.State = "2"; input.Operation.ExamOper = operEnvironment; input.Operation.ApproveOper = operEnvironment; #endregion #region 购入价计算 ArrayList alOutputList = this.itemManager.QueryOutputInfo(stockDept.ID, outListNO, "A"); if (alOutputList != null) { input.PurchaseCost = 0; foreach (Neusoft.HISFC.Models.Pharmacy.Output outputTemp in alOutputList) { input.PurchaseCost += outputTemp.PurchaseCost; } input.PriceCollection.PurchasePrice = Math.Round(input.PurchaseCost / (input.Quantity / input.Item.PackQty), 4); } #endregion if (this.itemManager.Input(input, "1") == -1) { Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("处理处方成品入库,进行入库操作发生错误 " + this.itemManager.Err); return(-1); } #endregion } Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm(); Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Clear(); return(1); }
public void Save() { if (!this.Valid()) { return; } Neusoft.HISFC.BizLogic.Pharmacy.Constant phaConsManager = new Neusoft.HISFC.BizLogic.Pharmacy.Constant(); bool isManagerStore = phaConsManager.IsManageStore(this.phaOutManager.TargetDept.ID); if (!isManagerStore) { MessageBox.Show(Language.Msg(this.phaOutManager.TargetDept.Name + " 不管理库存,不能通过出库审批进行出库"), "", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } DialogResult rs = MessageBox.Show(Language.Msg("确认向" + this.phaOutManager.TargetDept.Name + "进行出库操作吗?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (rs == DialogResult.No) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } DataTable dtAddMofity = this.dt.GetChanges(DataRowState.Added | DataRowState.Modified); if (dtAddMofity == null || dtAddMofity.Rows.Count <= 0) { return; } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在进行保存操作..请稍候"); System.Windows.Forms.Application.DoEvents(); #region 事务定义 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Pharmacy.Constant phaCons = new Neusoft.HISFC.BizLogic.Pharmacy.Constant(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); #endregion DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); string outListNO = ""; this.alPrintData = new ArrayList(); foreach (DataRow dr in dtAddMofity.Rows) { string key = dr["药品编码"].ToString() + dr["批号"].ToString(); Neusoft.HISFC.Models.Pharmacy.Output output = this.hsOutData[key] as Neusoft.HISFC.Models.Pharmacy.Output; if (this.isUseMinUnit) //使用最小单位 { output.Quantity = NConvert.ToDecimal(dr["实发数量"]); //实发数量 } else //使用包装单位 { output.Quantity = NConvert.ToDecimal(dr["实发数量"]) * output.Item.PackQty; //实发数量 } output.StoreQty = output.StoreQty - output.Quantity; output.StoreCost = output.StoreQty * output.Item.PriceCollection.RetailPrice / output.Item.PackQty; output.Memo = dr["备注"].ToString(); output.DrugedBillNO = "0"; //摆药单号 不能为空 output.Operation.ExamOper.ID = this.phaOutManager.OperInfo.ID; //审核人 output.Operation.ExamOper.OperTime = sysTime; //审核日期 output.Operation.ExamQty = output.Quantity; //审核数量 output.Operation.Oper = output.Operation.ExamOper; //操作信息 output.GetPerson = this.phaOutManager.TargetPerson.ID; //领药人 output.State = "1"; //状态 审批 #region 对数据来源为申请的数据进行更新 对本次新添加的数据生成申请信息记录 if (dr["数据来源"].ToString() == "1") { Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.hsApplyData[output.User02] as Neusoft.HISFC.Models.Pharmacy.ApplyOut; if (outListNO == "") { outListNO = applyOut.BillNO; } decimal tempApproveQty = applyOut.Operation.ApproveQty; applyOut.Operation = output.Operation; //操作信息 //未选择审批标记 只记录本次待发送的数量 不扣库存处理 if (!NConvert.ToBoolean(dr["审批"])) { //数量累计 applyOut.Operation.ApproveQty = tempApproveQty + output.Quantity; applyOut.State = "0"; } else { applyOut.Operation.ApproveOper = output.Operation.Oper; applyOut.State = "2"; } // {EE05DA01-8969-404d-9A6B-EE8AD0BC1CD0}处理出库审批并发的问题 int resultApplyOut = this.itemManager.UpdateApplyOut(applyOut, true); if (resultApplyOut == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("更新" + output.Item.Name + "出库申请信息时出错"); return; } if (resultApplyOut == 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("该" + output.Item.Name + "申请信息已改变,请重新获取申请信息"); return; } } else { #region 无申请记录 此时只需更改申请人 到底需不需要添加申请信息呢? 不需要 output.Operation.ApplyOper = output.Operation.Oper; //申请人 output.Operation.ApplyQty = output.Quantity; //申请数量 #endregion } #endregion #region 获取单据号 if (outListNO == "") { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 outListNO = phaIntegrate.GetInOutListNO(this.phaOutManager.DeptInfo.ID, false); if (outListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("获取新出库单号出错" + phaIntegrate.Err); return; } } output.OutListNO = outListNO; #endregion #region 以下信息在每次添加新数据时自动生成 output.PrivType = this.phaOutManager.PrivType.ID; //出库类型 output.SystemType = this.phaOutManager.PrivType.Memo; //系统类型 output.StockDept = this.phaOutManager.DeptInfo; //当前科室 output.TargetDept = this.phaOutManager.TargetDept; //目标科室 #endregion //非药柜科室向药柜出库 进行特殊处理 if (!this.phaOutManager.IsStockArk && this.phaOutManager.IsTargetArk) { if (this.itemManager.ArkOutput(output, this.phaOutManager.IsStockArk, this.phaOutManager.IsTargetArk, false, true) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("出库保存发生错误" + this.itemManager.Err); return; } } else { if (this.itemManager.Output(output, null, false) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("出库保存发生错误" + this.itemManager.Err); return; } } this.alPrintData.Add(output); } Neusoft.FrameWork.Management.PublicTrans.Commit(); Function.ShowMsg("保存成功"); DialogResult rsPrint = MessageBox.Show(Language.Msg("是否打印出库单?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rsPrint == DialogResult.Yes) { this.Print(); } this.Clear(); }
public void Save() { if (!this.Valid()) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } DataTable dtAddMofity = this.dt.GetChanges(DataRowState.Added | DataRowState.Modified); if (dtAddMofity == null || dtAddMofity.Rows.Count <= 0) { return; } //定义事务 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); //获取退库单号 // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 string inListNO = phaIntegrate.GetInOutListNO(this.phaInManager.DeptInfo.ID, true); if (inListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("获取最新入库单号出错" + itemManager.Err)); return; } //标志是否存在保存操作 bool isSaveOperation = false; this.alPrintData = new ArrayList(); foreach (DataRow dr in dtAddMofity.Rows) { decimal backQty = NConvert.ToDecimal(dr["退库数量"]); if (backQty == 0) { continue; } string key = this.GetKey(dr); //{DCE152D1-295C-4cc6-9EAA-39321A234569} Neusoft.HISFC.Models.Pharmacy.Input input = (this.hsInData[key] as Neusoft.HISFC.Models.Pharmacy.Input).Clone(); backQty = backQty * input.Item.PackQty; #region 获取本批次当前库存 判断是否允许退库 decimal storeQty = 0; this.itemManager.GetStorageNum(this.phaInManager.DeptInfo.ID, input.Item.ID, input.GroupNO, out storeQty); if (storeQty < backQty) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg(input.Item.Name + " 库存数量不足 退库数量过大"), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } #endregion #region 退库信息赋值 input.InListNO = inListNO; //退库单号 input.Quantity = -backQty; //入库数量(负数) input.RetailCost = input.Quantity / input.Item.PackQty * input.Item.PriceCollection.RetailPrice; input.StoreQty = storeQty + input.Quantity; //入库后库存数量 input.StoreCost = input.StoreQty / input.Item.PackQty * input.Item.PriceCollection.RetailPrice; input.Operation.ApplyOper.ID = this.phaInManager.OperInfo.ID; input.Operation.ApplyOper.OperTime = sysTime; input.Operation.Oper = input.Operation.ApplyOper; //根据不同发票输入情况及控制参数设置状态 input.State = "0"; input.InvoiceNO = dr["发票号"].ToString(); if (input.InvoiceNO != "") { input.Operation.ExamQty = input.Quantity; input.Operation.ExamOper = input.Operation.Oper; input.State = "1"; //直接更新状态为 审核(发票入库)状态 } if (!this.IsNeedApprove) //不需核准 直接设置状态"2" { input.State = "2"; input.Operation.ExamQty = input.Quantity; input.Operation.ExamOper = input.Operation.Oper; input.Operation.ApproveOper = input.Operation.Oper; } #endregion #region 退库保存 int parm = this.itemManager.Input(input, "1", this.IsNeedApprove ? "0" : "1"); if (parm == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("保存 [" + input.Item.Name + "] 发生错误 " + this.itemManager.Err)); return; } else if (parm == 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("数据可能已被审核,请刷新重试!")); return; } #endregion isSaveOperation = true; this.alPrintData.Add(input); } Neusoft.FrameWork.Management.PublicTrans.Commit(); if (isSaveOperation) { MessageBox.Show(Language.Msg("入库退库操作成功")); DialogResult rs = MessageBox.Show(Language.Msg("是否打印退库单?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rs == DialogResult.Yes) { this.Print(); } } this.Clear(); }
public void Save() { if (!this.Valid()) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } DataTable dtAddMofity = this.dt.GetChanges(DataRowState.Added | DataRowState.Modified); //{37D3D84C-702A-4090-8CB0-B9993279C735} 为了实现暂存 每次处理全部数据 //if (dtAddMofity == null || dtAddMofity.Rows.Count <= 0) // return; //{0084F0DF-44E5-4fe9-9DBC-E92CFCDC0636} 实现内部入库申请单打印 this.alPrintData.Clear(); //定义事务 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); if (this.listNO == "") { #region 获取新申请单据号 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); //phaIntegrate.SetTrans(t.Trans); // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 listNO = phaIntegrate.GetInOutListNO(this.phaInManager.DeptInfo.ID, false); if (listNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); System.Windows.Forms.MessageBox.Show(Language.Msg("获取新申请单据号发生错误" + this.itemManager.Err)); return; } #endregion } ////{37D3D84C-702A-4090-8CB0-B9993279C735} 入库申请暂存 是否暂存数据 bool isTemporaryData = false; string msg = "保存申请成功"; //{37D3D84C-702A-4090-8CB0-B9993279C735} 入库申请暂存 foreach (DataRow dr in this.dt.Rows) { Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.hsApplyData[this.GetKey(dr)] as Neusoft.HISFC.Models.Pharmacy.ApplyOut; #region 申请单信息赋值 applyOut.Operation.ApplyOper.OperTime = sysTime; applyOut.Memo = dr["备注"].ToString(); if (this.isBack) { if (!this.IsEnoughStore(applyOut.Item.ID, applyOut.Operation.ApplyQty)) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); System.Windows.Forms.MessageBox.Show(Language.Msg(applyOut.Item.Name + " 库存数量小于本次退库申请数量 请调整退库数量")); return; } } applyOut.Operation.ApplyQty = Neusoft.FrameWork.Function.NConvert.ToDecimal(dr["申请数量"]) * applyOut.Item.PackQty; #endregion //{37D3D84C-702A-4090-8CB0-B9993279C735} 入库申请暂存 if (isTemporaryFun) //选择了暂存操作 { if (applyOut.State == "0" && (string.IsNullOrEmpty(applyOut.ID) == false)) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show("存在已提交数据 不能进行申请单暂存操作,请选择保存进行提交", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } applyOut.State = "A"; msg = "暂存申请成功"; } if (applyOut.ID == "") { #region 新产生数据 applyOut.BillNO = this.listNO; //申请单据号 if (this.itemManager.InsertApplyOut(applyOut) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg(this.itemManager.Err)); return; } #endregion } else { #region 更新原有数据 int parm = this.itemManager.UpdateApplyOutNum(applyOut.ID, applyOut.Operation.ApplyQty); if (parm == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); System.Windows.Forms.MessageBox.Show(Language.Msg("对申请数量进行更新失败" + this.itemManager.Err)); return; } if (parm == 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); System.Windows.Forms.MessageBox.Show(Language.Msg("该申请单已被审核!无法进行修改!请刷新重试")); return; } #endregion } //{37D3D84C-702A-4090-8CB0-B9993279C735} 入库申请暂存 设置是否存在暂存数据 if (applyOut.State == "A") { isTemporaryData = true; } //{0084F0DF-44E5-4fe9-9DBC-E92CFCDC0636} 实现内部入库申请单打印 this.alPrintData.Add(applyOut); } //{37D3D84C-702A-4090-8CB0-B9993279C735} 入库申请暂存 暂存数据提交 if (isTemporaryData && (isTemporaryFun == false)) { if (this.itemManager.UpdateApplyOutState(this.phaInManager.DeptInfo.ID, this.listNO, "0") == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); MessageBox.Show(Language.Msg("提交入库申请单失败") + this.itemManager.Err, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } msg = "提交入库申请成功"; } Neusoft.FrameWork.Management.PublicTrans.Commit(); MessageBox.Show(Language.Msg(msg)); //{0084F0DF-44E5-4fe9-9DBC-E92CFCDC0636} 实现内部入库申请单打印 if (isTemporaryFun == false) //非暂存操作 { this.Print(); } this.Clear(); }
public void Save() { if (!this.Valid()) { return; } DialogResult rs = MessageBox.Show(Language.Msg("确认向" + this.phaOutManager.TargetDept.Name + "进行出库操作吗?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (rs == DialogResult.No) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } DataTable dtAddMofity = this.dt.GetChanges(DataRowState.Added | DataRowState.Modified); if (dtAddMofity == null || dtAddMofity.Rows.Count <= 0) { return; } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在进行保存操作..请稍候"); System.Windows.Forms.Application.DoEvents(); #region 事务定义 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizLogic.Pharmacy.Constant phaCons = new Neusoft.HISFC.BizLogic.Pharmacy.Constant(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //phaIntegrate.SetTrans(t.Trans); //phaCons.SetTrans(t.Trans); #endregion DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); //判断领用科室是否管理库存 string outListNO = ""; bool isManagerStore = phaCons.IsManageStore(this.phaOutManager.TargetDept.ID); this.alPrintData = new ArrayList(); //均价出库 只扣减本科室库存 以购入价乘以百分比做为均价出库 foreach (DataRow dr in dtAddMofity.Rows) { string key = dr["药品编码"].ToString() + dr["批号"].ToString(); Neusoft.HISFC.Models.Pharmacy.Output output = this.hsOutData[key] as Neusoft.HISFC.Models.Pharmacy.Output; output.Operation.ExamOper.ID = this.phaOutManager.OperInfo.ID; //审核人 output.Operation.ExamOper.OperTime = sysTime; //审核日期 output.Operation.Oper = output.Operation.ExamOper; //操作信息 #region 获取单据号 if (outListNO == "") { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 outListNO = phaIntegrate.GetInOutListNO(this.phaOutManager.DeptInfo.ID, false); if (outListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("获取新出库单号出错" + phaIntegrate.Err); return; } } output.OutListNO = outListNO; #endregion #region Output实体必要信息赋值 if (this.isUseMinUnit) //使用最小单位 { output.Quantity = NConvert.ToDecimal(dr["出库数量"]); //出库数量 } else //使用包装单位 { output.Quantity = NConvert.ToDecimal(dr["出库数量"]) * output.Item.PackQty; //出库数量 } output.StoreQty = output.StoreQty - output.Quantity; output.StoreCost = output.StoreQty * output.Item.PriceCollection.RetailPrice / output.Item.PackQty; output.Operation.ExamQty = output.Quantity; //审核数量 output.Memo = dr["备注"].ToString(); output.DrugedBillNO = "0"; //摆药单号 不能为空 output.GetPerson = this.phaOutManager.TargetPerson.ID; //领药人 //状态固定赋值为2 output.State = "2"; //核准 output.Operation.ApproveOper = output.Operation.Oper; #endregion #region 以下信息在每次添加新数据时自动生成 output.PrivType = this.phaOutManager.PrivType.ID; //出库类型 output.SystemType = this.phaOutManager.PrivType.Memo; //系统类型 output.StockDept = this.phaOutManager.DeptInfo; //当前科室 output.TargetDept = this.phaOutManager.TargetDept; //目标科室 #endregion if (this.itemManager.Output(output, null, false) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("出库保存发生错误" + this.itemManager.Err); return; } this.alPrintData.Add(output); } Neusoft.FrameWork.Management.PublicTrans.Commit(); Function.ShowMsg("保存成功"); DialogResult rsPrint = MessageBox.Show(Language.Msg("是否打印出库单?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rsPrint == DialogResult.Yes) { this.Print(); } this.Clear(); }
public void Save() { if (!this.Valid()) { return; } DialogResult rs = MessageBox.Show(Language.Msg("确认向" + this.phaOutManager.TargetDept.Name + "进行申请出库操作吗?"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (rs == DialogResult.No) { return; } this.dt.DefaultView.RowFilter = "1=1"; for (int i = 0; i < this.dt.DefaultView.Count; i++) { this.dt.DefaultView[i].EndEdit(); } DataTable dtAddMofity = this.dt.GetChanges(DataRowState.Added | DataRowState.Modified); if (dtAddMofity == null || dtAddMofity.Rows.Count <= 0) { return; } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在保存申请信息 请稍候..."); Application.DoEvents(); #region 事务定义 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.itemManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); //phaIntegrate.SetTrans(t.Trans); #endregion DateTime sysTime = this.itemManager.GetDateTimeFromSysDateTime(); string applyListNO = ""; foreach (DataRow dr in dtAddMofity.Rows) { string key = dr["药品编码"].ToString() + dr["批号"].ToString(); Neusoft.HISFC.Models.Pharmacy.ApplyOut applyOut = this.hsApplyData[key] as Neusoft.HISFC.Models.Pharmacy.ApplyOut; if (applyOut.ID != "") { applyListNO = applyOut.BillNO; //申请单号 #region 对原始申请信息进行修改 只需更新申请数量 if (this.isUseMinUnit) { applyOut.Operation.ApplyQty = NConvert.ToDecimal(dr["申请数量"]); //申请数量 } else { applyOut.Operation.ApplyQty = NConvert.ToDecimal(dr["申请数量"]) * applyOut.Item.PackQty; //申请数量 } applyOut.Memo = dr["备注"].ToString(); //备注 int parm = this.itemManager.UpdateApplyOutNum(applyOut.ID, applyOut.Operation.ApplyQty); if (parm == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg(this.itemManager.Err); return; } else if (parm == 0) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("该申请单已被审核!无法进行修改!请刷新重试"); return; } #endregion } else { #region 新增加申请信息 if (applyListNO == "") { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 applyListNO = phaIntegrate.GetInOutListNO(this.phaOutManager.DeptInfo.ID, false); if (applyListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg("获取申请单信息发生错误" + phaIntegrate.Err); return; } } applyOut.BillNO = applyListNO; //申请单据号 applyOut.Operation.ApplyOper.ID = this.phaOutManager.OperInfo.ID; //申请人信息 applyOut.Operation.ApplyOper.OperTime = sysTime; applyOut.State = "0"; //申请单状态 applyOut.Operation.Oper = applyOut.Operation.ApplyOper; if (this.isUseMinUnit) { applyOut.Operation.ApplyQty = NConvert.ToDecimal(dr["申请数量"]); //申请数量 } else { applyOut.Operation.ApplyQty = NConvert.ToDecimal(dr["申请数量"]) * applyOut.Item.PackQty; //申请数量 } applyOut.Memo = dr["备注"].ToString(); //备注 if (this.itemManager.InsertApplyOut(applyOut) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); Function.ShowMsg(this.itemManager.Err); return; } #endregion } } Neusoft.FrameWork.Management.PublicTrans.Commit(); //for (int i = 0; i < this.dt.DefaultView.Count; i++) //{ // this.dt.DefaultView[i].BeginEdit(); //} Function.ShowMsg("保存成功"); this.Clear(); }
/// <summary> /// 保存 /// </summary> public virtual void Save() { if (!this.Valid()) { return; } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在进行保存操作..请稍候"); System.Windows.Forms.Application.DoEvents(); #region 事务定义 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); //itemManager.SetTrans(t.Trans); //phaIntegrate.SetTrans(t.Trans); #endregion //当天操作日期 DateTime sysTime = itemManager.GetDateTimeFromSysDateTime(); //入库单据号 string inListNO = null; Neusoft.HISFC.Models.Pharmacy.Input input = new Neusoft.HISFC.Models.Pharmacy.Input(); foreach (DataRow dr in this.dt.Rows) { string key = dr["药品编码"].ToString() + dr["批号"].ToString(); input = this.hsInputData[key] as Neusoft.HISFC.Models.Pharmacy.Input; if (inListNO == null) { inListNO = input.InListNO; } #region 如果不存在入库单据号 则获取新入库单据号 if (inListNO == "" || inListNO == null) { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 inListNO = phaIntegrate.GetInOutListNO(this.phaInManager.DeptInfo.ID, true); if (inListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); this.ShowMsg("获取最新入库单号出错" + itemManager.Err); return; } } #endregion input.InListNO = inListNO; //入库单据号 #region 以下信息在每次添加数据生成入库信息实体时赋值 input.StockDept = this.phaInManager.DeptInfo; //库存科室 input.PrivType = this.phaInManager.PrivType.ID; //用户类型 input.SystemType = this.phaInManager.PrivType.Memo; //系统类型 input.Company = this.phaInManager.TargetDept; //供货单位 input.TargetDept = this.phaInManager.TargetDept; //目标单位 = 供货单位 #endregion if (input.Operation.ApplyOper.ID == "") { input.Operation.ApplyQty = input.Quantity; //入库申请量 input.Operation.ApplyOper.ID = this.phaInManager.OperInfo.ID; input.Operation.ApplyOper.OperTime = sysTime; } input.Operation.Oper.ID = this.phaInManager.OperInfo.ID; input.Operation.Oper.OperTime = sysTime; input.Operation.ApplyQty = input.Quantity; //入库申请量 input.State = "0"; if (itemManager.SetApplyIn(input) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); this.ShowMsg("入库 保存失败" + itemManager.Err); return; } } Neusoft.FrameWork.Management.PublicTrans.Commit(); this.ShowMsg("外部入库申请保存成功"); this.Clear(); }