public void SaveBill(string frmName) { Action <ClientRequestData> requestAction = null; ServiceResponseData retdata = null; List <DS_ApplyDetail> lstDetails = new List <DS_ApplyDetail>(); RefreshHead(frmName); for (int index = 0; index < frmdeApplyDetails.CurrentDetail.Rows.Count; index++) { DS_ApplyDetail detail = ConvertExtend.ToObject <DS_ApplyDetail>(frmdeApplyDetails.CurrentDetail, index); lstDetails.Add(detail); } requestAction = ((ClientRequestData request) => { request.AddData(DGConstant.OP_DS_APPLYPLAN); request.AddData(frmdeApplyDetails.CurrentApplyHead); request.AddData <List <DS_ApplyDetail> >(lstDetails); request.AddData <List <int> >(frmdeApplyDetails.GetDeleteDetails()); }); retdata = InvokeWcfService("DrugProject.Service", "ApplyStoreController", "SaveBill", requestAction); bool result = retdata.GetData <bool>(0); if (result) { MessageBoxShowSimple("领药申请单已经保存成功"); if (frmdeApplyDetails.CurrentApplyHead.ApplyHeadID == 0) { frmdeApplyDetails.NewBillClear(); } else { frmdeApplyDetails.CloseCurrentWindow(); } } else { string rtnMsg = retdata.GetData <string>(1); MessageBoxShowSimple("领药申请单保存失败:" + rtnMsg); } }
public ServiceResponseData SaveBillFromApply() { string belongSys = requestData.GetData <string>(0); string busiType = requestData.GetData <string>(1); IDGBill iProcess = NewObject <DGBillFactory>().GetBillProcess(busiType); DGBillResult result = new DGBillResult(); DW_OutStoreHead head = requestData.GetData <DW_OutStoreHead>(2); List <DW_OutStoreDetail> details = requestData.GetData <List <DW_OutStoreDetail> >(3); List <int> deleteDetails = requestData.GetData <List <int> >(4); oleDb.BeginTransaction(); try { foreach (int detailID in deleteDetails) { NewObject <DW_OutStoreDetail>().delete(detailID); } iProcess.SaveBill(head, details); DS_ApplyHead applyHead = (DS_ApplyHead)NewObject <DS_ApplyHead>().getmodel(head.ApplyHeadId); applyHead.OutStoreHeadID = head.OutStoreHeadID; applyHead.AuditFlag = 1; applyHead.AuditEmpID = LoginUserInfo.EmpId; applyHead.AuditEmpName = LoginUserInfo.EmpName; applyHead.AuditTime = DateTime.Now; applyHead.save(); foreach (var s in details) { DS_ApplyDetail detailApply = NewObject <DS_ApplyDetail>().getlist <DS_ApplyDetail>("ApplyHeadId = " + applyHead.ApplyHeadID + " and DrugID=" + s.DrugID + " and BatchNO= '" + s.BatchNO + " '").FirstOrDefault(); if (detailApply != null) { detailApply.FactAmount = s.Amount; detailApply.save(); } } Basic_SystemConfig config = NewObject <IDGDao>().GetDeptParameters(head.DeptID, "AutoAuditOutStore"); if (config != null) { //是否配置需要审核 if (config.Value == "1") { result = iProcess.AuditBill(head.OutStoreHeadID, LoginUserInfo.EmpId, LoginUserInfo.EmpName, LoginUserInfo.WorkId); } } if (result.Result == 0) { oleDb.CommitTransaction(); } else { oleDb.RollbackTransaction(); } responseData.AddData(result); } catch (Exception error) { oleDb.RollbackTransaction(); responseData.AddData(false); responseData.AddData(error.Message); } return(responseData); }