/// <summary> /// 将页面内控件的值赋值给基类的_payBillManager /// </summary> private void SetCardCtrlsToDetailDS() { _payBillManager = new MDLFM_PayBill() { PB_PayTypeName = cbPayTypeName.Text, PB_PayTypeCode = cbPayTypeName.Value?.ToString() ?? "", PB_Remark = txtRemark.Text, PB_CertificateNo = txtPayCertificateNo.Text, PB_PayableTotalAmount = Convert.ToDecimal(txtPayableTotalAmount.Text.Trim() == "" ? "0" : txtPayableTotalAmount.Text.Trim()), PB_RealPayableTotalAmount = Convert.ToDecimal(numThisPayAmount.Value ?? 0) }; }
/// <summary> /// 生成选中项的值和描述 /// </summary> void GenerateSelectedValueAndText() { SelectedGridList = new List <MDLFM_PayBill>(); foreach (var loopSourceItem in ListGridDS) { if (!loopSourceItem.IsChecked) { continue; } MDLFM_PayBill argsPayBill = new MDLFM_PayBill { PB_ID = loopSourceItem.PB_ID, PB_No = loopSourceItem.PB_No, //PB_SourceTypeCode = loopSourceItem.PB_SourceTypeCode, //PB_SourceTypeName = loopSourceItem.PB_SourceTypeName, //PB_SrcBillNo = loopSourceItem.PB_SrcBillNo, PB_Pay_Org_ID = loopSourceItem.PB_Pay_Org_ID, PB_Pay_Org_Name = loopSourceItem.PB_Pay_Org_Name, PB_Date = loopSourceItem.PB_Date, PB_RecObjectTypeCode = loopSourceItem.PB_RecObjectTypeCode, PB_RecObjectTypeName = loopSourceItem.PB_RecObjectTypeName, PB_RecObjectID = loopSourceItem.PB_RecObjectID, PB_RecObjectName = loopSourceItem.PB_RecObjectName, PB_PayableTotalAmount = loopSourceItem.PB_PayableTotalAmount, PB_RealPayableTotalAmount = loopSourceItem.PB_RealPayableTotalAmount, PB_PayAccount = loopSourceItem.PB_PayAccount, PB_RecAccount = loopSourceItem.PB_RecAccount, PB_PayTypeCode = loopSourceItem.PB_PayTypeCode, PB_PayTypeName = loopSourceItem.PB_PayTypeName, PB_CertificateNo = loopSourceItem.PB_CertificateNo, PB_CertificatePic = loopSourceItem.PB_CertificatePic, PB_BusinessStatusCode = loopSourceItem.PB_BusinessStatusCode, PB_BusinessStatusName = loopSourceItem.PB_BusinessStatusName, PB_ApprovalStatusCode = loopSourceItem.PB_ApprovalStatusCode, PB_ApprovalStatusName = loopSourceItem.PB_ApprovalStatusName, PB_Remark = loopSourceItem.PB_Remark, PB_IsValid = loopSourceItem.PB_IsValid, PB_CreatedBy = loopSourceItem.PB_CreatedBy, PB_CreatedTime = loopSourceItem.PB_CreatedTime, PB_UpdatedBy = loopSourceItem.PB_UpdatedBy, PB_UpdatedTime = loopSourceItem.PB_UpdatedTime, PB_VersionNo = loopSourceItem.PB_VersionNo }; SelectedGridList.Add(argsPayBill); } }
/// <summary> /// 保存数据 /// </summary> /// <param name="paramPayable"></param> /// <param name="paramPayablePayConfirmList"></param> /// <returns></returns> public bool SavePayablePayConfirmData(MDLFM_PayBill paramPayable, List <PayablePayConfirmUIModel> paramPayablePayConfirmList) { var funcName = "SavePayableCashierConfirmData"; LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null); #region 准备数据 #region 变量定义 //待保存的[付款单] MDLFM_PayBill insertPayBill = new MDLFM_PayBill(); //待保存的[付款单明细]列表 List <MDLFM_PayBillDetail> insertPayBillDetailList = new List <MDLFM_PayBillDetail>(); //待更新的[应付单]列表 List <MDLFM_AccountPayableBill> updateAccountPayableBillList = new List <MDLFM_AccountPayableBill>(); //待更新的[应收单]列表 List <MDLFM_AccountReceivableBill> updateAccountReceivableBillList = new List <MDLFM_AccountReceivableBill>(); //待更新的[电子钱包] MDLEWM_Wallet updatewallet = new MDLEWM_Wallet(); //待新增的[电子钱包异动] MDLEWM_WalletTrans insertwalletTrans = new MDLEWM_WalletTrans(); #endregion #region 待保存的[付款单] insertPayBill.PB_ID = Guid.NewGuid().ToString(); insertPayBill.PB_No = BLLCom.GetCoeusDocumentNo(DocumentTypeEnums.Code.PB); insertPayBill.PB_Pay_Org_ID = paramPayablePayConfirmList[0].BusinessOrgID; insertPayBill.PB_Pay_Org_Name = paramPayablePayConfirmList[0].BusinessOrgName; insertPayBill.PB_Date = BLLCom.GetCurStdDatetime(); insertPayBill.PB_RecObjectTypeCode = paramPayablePayConfirmList[0].ReceiveObjectTypeCode; insertPayBill.PB_RecObjectTypeName = paramPayablePayConfirmList[0].ReceiveObjectTypeName; insertPayBill.PB_RecObjectID = paramPayablePayConfirmList[0].ReceiveObjectID; insertPayBill.PB_RecObjectName = paramPayablePayConfirmList[0].ReceiveObjectName; insertPayBill.PB_PayableTotalAmount = paramPayable.PB_PayableTotalAmount; insertPayBill.PB_RealPayableTotalAmount = paramPayable.PB_RealPayableTotalAmount; insertPayBill.PB_PayAccount = paramPayable.PB_PayAccount; insertPayBill.PB_RecAccount = paramPayable.PB_RecAccount; insertPayBill.PB_PayTypeName = paramPayable.PB_PayTypeName; insertPayBill.PB_PayTypeCode = paramPayable.PB_PayTypeCode; insertPayBill.PB_CertificateNo = paramPayable.PB_CertificateNo; insertPayBill.PB_BusinessStatusName = ReceiptBillStatusEnum.Name.YWC; insertPayBill.PB_BusinessStatusCode = ReceiptBillStatusEnum.Code.YWC; insertPayBill.PB_ApprovalStatusName = ApprovalStatusEnum.Name.YSH; insertPayBill.PB_ApprovalStatusCode = ApprovalStatusEnum.Code.YSH; insertPayBill.PB_Remark = paramPayable.PB_Remark; insertPayBill.PB_IsValid = true; insertPayBill.PB_CreatedBy = LoginInfoDAX.UserName; insertPayBill.PB_CreatedTime = BLLCom.GetCurStdDatetime(); insertPayBill.PB_UpdatedBy = LoginInfoDAX.UserName; insertPayBill.PB_UpdatedTime = BLLCom.GetCurStdDatetime(); #endregion #region 待保存的[付款单明细]列表,待更新[应收单]或[应付单]列表 foreach (var loopItem in paramPayablePayConfirmList) { if (loopItem.ThisPayAmount == 0 && loopItem.UnPayTotalAmount != 0) { continue; } #region 待保存的[付款单明细] MDLFM_PayBillDetail insertPayBillDetail = new MDLFM_PayBillDetail() { PBD_ID = Guid.NewGuid().ToString(), PBD_PB_ID = insertPayBill.PB_ID, PBD_PB_No = insertPayBill.PB_No, PBD_PayAmount = loopItem.ThisPayAmount, PBD_CreatedBy = LoginInfoDAX.UserName, PBD_CreatedTime = BLLCom.GetCurStdDatetime(), PBD_UpdatedBy = LoginInfoDAX.UserName, PBD_UpdatedTime = BLLCom.GetCurStdDatetime(), }; insertPayBillDetail.PBD_SrcBillNo = loopItem.APB_SourceBillNo == "" ? loopItem.APB_No : loopItem.APB_SourceBillNo; if (loopItem.APB_SourceTypeName == AccountPayableBillSourceTypeEnum.Name.SHYF) { insertPayBillDetail.PBD_SourceTypeName = PayBillDetailSourceTypeEnum.Name.BZCG; insertPayBillDetail.PBD_SourceTypeCode = PayBillDetailSourceTypeEnum.Code.BZCG; } else if (loopItem.APB_SourceTypeName == AccountPayableBillSourceTypeEnum.Name.CKYF) { insertPayBillDetail.PBD_SourceTypeName = PayBillDetailSourceTypeEnum.Name.THSK; insertPayBillDetail.PBD_SourceTypeCode = PayBillDetailSourceTypeEnum.Code.THSK; } else if (loopItem.APB_SourceTypeName == AccountPayableBillSourceTypeEnum.Name.SGCJ) { insertPayBillDetail.PBD_SourceTypeName = PayBillDetailSourceTypeEnum.Name.SGFK; insertPayBillDetail.PBD_SourceTypeCode = PayBillDetailSourceTypeEnum.Code.SGFK; } else if (loopItem.APB_SourceTypeName == AccountReceivableBillSourceTypeEnum.Name.XSYS) { insertPayBillDetail.PBD_SourceTypeName = ReceiptBillDetailSourceTypeEnum.Name.XSSK; insertPayBillDetail.PBD_SourceTypeCode = ReceiptBillDetailSourceTypeEnum.Code.XSSK; } else if (loopItem.APB_SourceTypeName == AccountReceivableBillSourceTypeEnum.Name.QTYS) { insertPayBillDetail.PBD_SourceTypeName = ReceiptBillDetailSourceTypeEnum.Name.QTSK; insertPayBillDetail.PBD_SourceTypeCode = ReceiptBillDetailSourceTypeEnum.Code.QTSK; } insertPayBillDetailList.Add(insertPayBillDetail); #endregion #region 待更新的[应付单]或[应收单]列表 if (loopItem.IsBusinessSourceAccountPayableBill) { #region 待更新的[应付单]列表 MDLFM_AccountPayableBill updateAccountPayableBill = new MDLFM_AccountPayableBill { APB_ID = loopItem.APB_ID, APB_No = loopItem.APB_No, APB_BillDirectCode = loopItem.APB_BillDirectCode, APB_BillDirectName = loopItem.APB_BillDirectName, APB_SourceTypeCode = loopItem.APB_SourceTypeCode, APB_SourceTypeName = loopItem.APB_SourceTypeName, APB_SourceBillNo = loopItem.APB_SourceBillNo, APB_Org_ID = loopItem.APB_Org_ID, APB_Org_Name = loopItem.APB_Org_Name, APB_AccountPayableAmount = loopItem.APB_AccountPayableAmount, APB_ApprovalStatusCode = loopItem.APB_ApprovalStatusCode, APB_ApprovalStatusName = loopItem.APB_ApprovalStatusName, APB_CreatedBy = loopItem.APB_CreatedBy, APB_CreatedTime = loopItem.APB_CreatedTime, APB_UpdatedBy = LoginInfoDAX.UserName, APB_UpdatedTime = BLLCom.GetCurStdDatetime(), APB_VersionNo = loopItem.APB_VersionNo, WHERE_APB_ID = loopItem.APB_ID, WHERE_APB_VersionNo = loopItem.APB_VersionNo }; if (updateAccountPayableBill.APB_BillDirectName == BillDirectionEnum.Name.PLUS) { //已付金额 updateAccountPayableBill.APB_PaidAmount = (loopItem.APB_PaidAmount ?? 0) + Math.Abs(loopItem.ThisPayAmount ?? 0); } else { //已付金额 updateAccountPayableBill.APB_PaidAmount = (loopItem.APB_PaidAmount ?? 0) - Math.Abs(loopItem.ThisPayAmount ?? 0); } //未付金额 updateAccountPayableBill.APB_UnpaidAmount = (loopItem.APB_AccountPayableAmount ?? 0) - (updateAccountPayableBill.APB_PaidAmount ?? 0); if (Math.Abs(updateAccountPayableBill.APB_PaidAmount ?? 0) >= Math.Abs(loopItem.APB_AccountPayableAmount ?? 0)) { updateAccountPayableBill.APB_UnpaidAmount = 0; //单据状态 updateAccountPayableBill.APB_BusinessStatusCode = AccountReceivableBillStatusEnum.Code.YWC; updateAccountPayableBill.APB_BusinessStatusName = AccountReceivableBillStatusEnum.Name.YWC; } updateAccountPayableBillList.Add(updateAccountPayableBill); #endregion } else { #region 待更新的[应收单]列表 MDLFM_AccountReceivableBill updateAccountReceivableBill = new MDLFM_AccountReceivableBill { ARB_ID = loopItem.APB_ID, ARB_No = loopItem.APB_No, ARB_BillDirectCode = loopItem.APB_BillDirectCode, ARB_BillDirectName = loopItem.APB_BillDirectName, ARB_SourceTypeCode = loopItem.APB_SourceTypeCode, ARB_SourceTypeName = loopItem.APB_SourceTypeName, ARB_SrcBillNo = loopItem.APB_SourceBillNo, ARB_Org_ID = loopItem.APB_Org_ID, ARB_Org_Name = loopItem.APB_Org_Name, ARB_AccountReceivableAmount = loopItem.APB_AccountPayableAmount, ARB_ApprovalStatusCode = loopItem.APB_ApprovalStatusCode, ARB_ApprovalStatusName = loopItem.APB_ApprovalStatusName, ARB_CreatedBy = loopItem.APB_CreatedBy, ARB_CreatedTime = loopItem.APB_CreatedTime, ARB_UpdatedBy = LoginInfoDAX.UserName, ARB_UpdatedTime = BLLCom.GetCurStdDatetime(), ARB_VersionNo = loopItem.APB_VersionNo, WHERE_ARB_ID = loopItem.APB_ID, WHERE_ARB_VersionNo = loopItem.APB_VersionNo }; if (updateAccountReceivableBill.ARB_BillDirectName == BillDirectionEnum.Name.PLUS) { //已收金额 updateAccountReceivableBill.ARB_ReceivedAmount = (loopItem.APB_PaidAmount ?? 0) + Math.Abs(loopItem.ThisPayAmount ?? 0); } else { //已收金额 updateAccountReceivableBill.ARB_ReceivedAmount = (loopItem.APB_PaidAmount ?? 0) - Math.Abs(loopItem.ThisPayAmount ?? 0); } //未收金额 updateAccountReceivableBill.ARB_UnReceiveAmount = (loopItem.APB_AccountPayableAmount ?? 0) - (updateAccountReceivableBill.ARB_ReceivedAmount ?? 0); if (Math.Abs(updateAccountReceivableBill.ARB_ReceivedAmount ?? 0) >= Math.Abs(loopItem.APB_AccountPayableAmount ?? 0)) { updateAccountReceivableBill.ARB_UnReceiveAmount = 0; //单据状态 updateAccountReceivableBill.ARB_BusinessStatusCode = AccountReceivableBillStatusEnum.Code.YWC; updateAccountReceivableBill.ARB_BusinessStatusName = AccountReceivableBillStatusEnum.Name.YWC; } updateAccountReceivableBillList.Add(updateAccountReceivableBill); #endregion } #endregion } #endregion #region 更新的[电子钱包]、新增的[电子钱包异动] if (paramPayable.PB_PayTypeName == TradeTypeEnum.Name.WALLET && (!string.IsNullOrEmpty(paramPayablePayConfirmList[0].Wal_ID))) { #region 待更新的[电子钱包] updatewallet.WHERE_Wal_ID = paramPayablePayConfirmList[0].Wal_ID; updatewallet.WHERE_Wal_VersionNo = paramPayablePayConfirmList[0].Wal_VersionNo; updatewallet.Wal_AvailableBalance = paramPayablePayConfirmList[0].Wal_AvailableBalance + paramPayable.PB_RealPayableTotalAmount; updatewallet.Wal_VersionNo = paramPayablePayConfirmList[0].Wal_VersionNo + 1; #endregion #region 待新增的[电子钱包异动] insertwalletTrans.WalT_ID = System.Guid.NewGuid().ToString(); insertwalletTrans.WalT_Org_ID = LoginInfoDAX.OrgID; insertwalletTrans.WalT_Org_Name = LoginInfoDAX.OrgShortName; insertwalletTrans.WalT_Wal_ID = paramPayablePayConfirmList[0].Wal_ID; insertwalletTrans.WalT_Wal_No = paramPayablePayConfirmList[0].Wal_No; insertwalletTrans.WalT_Time = BLLCom.GetCurStdDatetime(); insertwalletTrans.WalT_TypeCode = WalTransTypeEnum.Code.XF; insertwalletTrans.WalT_TypeName = WalTransTypeEnum.Name.XF; insertwalletTrans.WalT_Amount = -paramPayable.PB_RealPayableTotalAmount;; insertwalletTrans.WalT_BillNo = insertPayBill.PB_No; insertwalletTrans.WalT_IsValid = true; insertwalletTrans.WalT_CreatedBy = LoginInfoDAX.UserName; insertwalletTrans.WalT_CreatedTime = BLLCom.GetCurStdDatetime(); insertwalletTrans.WalT_UpdatedBy = LoginInfoDAX.UserName; insertwalletTrans.WalT_UpdatedTime = BLLCom.GetCurStdDatetime(); #endregion } #endregion #endregion #region 带事务的保存 try { DBManager.BeginTransaction(DBCONFIG.Coeus); #region 保存[付款单明细] bool insertPayBillResult = _bll.Insert(insertPayBill); if (!insertPayBillResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_PayBillDetail }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } #endregion #region 保存[付款单明细]列表 if (insertPayBillDetailList.Count > 0) { bool insertPayBillDetailResult = _bll.InsertByList <MDLFM_PayBillDetail, MDLFM_PayBillDetail>(insertPayBillDetailList); if (!insertPayBillDetailResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_PayBillDetail }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } } #endregion #region 更新[应付单]列表 if (updateAccountPayableBillList.Count > 0) { foreach (var loopAccountPayableBill in updateAccountPayableBillList) { bool updateAccountReceivableBill = _bll.Update(loopAccountPayableBill); if (!updateAccountReceivableBill) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_AccountPayableBill }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } } } #endregion #region 更新[应收单]列表 if (updateAccountReceivableBillList.Count > 0) { foreach (var loopAccountReceivableBill in updateAccountReceivableBillList) { bool updateAccountReceivableBill = _bll.Update(loopAccountReceivableBill); if (!updateAccountReceivableBill) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_AccountReceivableBill }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } } } #endregion #region 更新的[电子钱包]、新增的[电子钱包异动] if (paramPayable.PB_PayTypeName == TradeTypeEnum.Name.WALLET && (!string.IsNullOrEmpty(paramPayablePayConfirmList[0].Wal_ID))) { #region 更新的[电子钱包] bool updatewalletResult = _bll.Update(updatewallet); if (!updatewalletResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.UPDATE + SystemTableEnums.Name.EWM_Wallet }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } #endregion #region 待新增的[电子钱包异动] bool insertwalletTranslResult = _bll.Insert(insertwalletTrans); if (!insertwalletTranslResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.ADD + SystemTableEnums.Name.EWM_WalletTrans }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } #endregion } #endregion DBManager.CommitTransaction(DBCONFIG.Coeus); } catch (Exception ex) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.SAVE, ex.Message }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ex.Message, "", null); return(false); } #endregion return(true); }
/// <summary> /// 审核 /// </summary> /// <param name="paramHead"></param> /// <param name="paramDetailList"></param> /// <returns></returns> public bool ApprovePayBill(PayBillManagerUIModel paramHead, SkyCarBindingList <PayBillManagerDetailUIModel, MDLFM_PayBillDetail> paramDetailList) { var funcName = "ApproveDetailDS"; LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null); if (paramHead == null) { //没有获取到付款单,审核失败 ResultMsg = MsgHelp.GetMsg(MsgCode.W_0024, new object[] { SystemTableEnums.Name.FM_PayBill, SystemActionEnum.Name.APPROVE }); return(false); } var payBillManagerDetailList = paramDetailList.Where(x => x.PBD_SourceTypeName == PayBillDetailSourceTypeEnum.Name.SGFK); if (payBillManagerDetailList.Count() != paramDetailList.Count() || payBillManagerDetailList.Count() == 0) { //收款单不为手工付款,不能审核 ResultMsg = MsgHelp.GetMsg(MsgCode.E_0017, new object[] { SystemTableEnums.Name.FM_PayBill + MsgParam.NO + MsgParam.BE + PayBillDetailSourceTypeEnum.Name.SGFK, SystemActionEnum.Name.APPROVE }); return(false); } #region 定义变量 //待更新[付款单] MDLFM_PayBill updatePayBill = paramHead.ToTBModelForSaveAndDelete <MDLFM_PayBill>(); //待更新[付款单明细] List <MDLFM_PayBillDetail> updatePayBillDetaillList = new List <MDLFM_PayBillDetail>(); //待新增对应的[应付单] List <MDLFM_AccountPayableBill> addAccountPayableBillList = new List <MDLFM_AccountPayableBill>(); //待新增对应的[应付单明细] List <MDLFM_AccountPayableBillDetail> addAccountPayableBillDetailList = new List <MDLFM_AccountPayableBillDetail>(); //待更新的[钱包] MDLEWM_Wallet updateWallet = new MDLEWM_Wallet(); //待新增的[钱包异动] MDLEWM_WalletTrans addWalletTrans = new MDLEWM_WalletTrans(); #endregion #region 准备数据 if (paramDetailList[0].PBD_SourceTypeName == PayBillDetailSourceTypeEnum.Name.SGFK) { #region 新增[应付单]和[应付单明细] foreach (var loopDetail in paramDetailList) { #region 新增[应付单] MDLFM_AccountPayableBill accountPayableBill = new MDLFM_AccountPayableBill { APB_ID = System.Guid.NewGuid().ToString(), APB_No = BLLCom.GetCoeusDocumentNo(DocumentTypeEnums.Code.APB), APB_BillDirectCode = BillDirectionEnum.Code.PLUS, APB_BillDirectName = BillDirectionEnum.Name.PLUS, APB_SourceTypeCode = AccountPayableBillSourceTypeEnum.Code.SGCJ, APB_SourceTypeName = AccountPayableBillSourceTypeEnum.Name.SGCJ, APB_ReceiveObjectTypeCode = paramHead.PB_RecObjectTypeCode, APB_ReceiveObjectTypeName = paramHead.PB_RecObjectTypeName, APB_ReceiveObjectID = paramHead.PB_RecObjectID, APB_ReceiveObjectName = paramHead.PB_RecObjectName, APB_Org_ID = LoginInfoDAX.OrgID, APB_Org_Name = LoginInfoDAX.OrgShortName, APB_AccountPayableAmount = loopDetail.PBD_PayAmount, APB_PaidAmount = loopDetail.PBD_PayAmount, APB_UnpaidAmount = 0, APB_BusinessStatusName = AccountPayableBillStatusEnum.Name.YWC, APB_BusinessStatusCode = AccountPayableBillStatusEnum.Code.YWC, APB_ApprovalStatusName = ApprovalStatusEnum.Name.YSH, APB_ApprovalStatusCode = ApprovalStatusEnum.Code.YSH, APB_IsValid = true, APB_CreatedBy = LoginInfoDAX.UserName, APB_CreatedTime = BLLCom.GetCurStdDatetime(), APB_UpdatedBy = LoginInfoDAX.UserName, APB_UpdatedTime = BLLCom.GetCurStdDatetime(), }; addAccountPayableBillList.Add(accountPayableBill); //回写付款单的来源的单号 loopDetail.PBD_SrcBillNo = accountPayableBill.APB_No; #endregion #region 新增[应付单明细] MDLFM_AccountPayableBillDetail accountPayableBillDetail = new MDLFM_AccountPayableBillDetail { APBD_ID = Guid.NewGuid().ToString(), APBD_APB_ID = accountPayableBill.APB_ID, APBD_IsMinusDetail = false, APBD_Org_ID = accountPayableBill.APB_Org_ID, APBD_Org_Name = accountPayableBill.APB_Org_Name, APBD_AccountPayableAmount = loopDetail.PBD_PayAmount, APBD_PaidAmount = loopDetail.PBD_PayAmount, APBD_UnpaidAmount = 0, APBD_BusinessStatusName = accountPayableBill.APB_BusinessStatusName, APBD_BusinessStatusCode = accountPayableBill.APB_BusinessStatusCode, APBD_ApprovalStatusName = accountPayableBill.APB_ApprovalStatusName, APBD_ApprovalStatusCode = accountPayableBill.APB_ApprovalStatusCode, APBD_IsValid = true, APBD_CreatedBy = LoginInfoDAX.UserName, APBD_CreatedTime = BLLCom.GetCurStdDatetime(), APBD_UpdatedBy = LoginInfoDAX.UserName, APBD_UpdatedTime = BLLCom.GetCurStdDatetime(), }; addAccountPayableBillDetailList.Add(accountPayableBillDetail); #endregion } #endregion } #region 更新[付款单]数据 updatePayBill.PB_ApprovalStatusName = ApprovalStatusEnum.Name.YSH; updatePayBill.PB_ApprovalStatusCode = ApprovalStatusEnum.Code.YSH; updatePayBill.PB_BusinessStatusName = PayBillStatusEnum.Name.YWC; updatePayBill.PB_BusinessStatusCode = PayBillStatusEnum.Code.YWC; updatePayBill.PB_UpdatedBy = LoginInfoDAX.UserName; updatePayBill.PB_UpdatedTime = BLLCom.GetCurStdDatetime(); #endregion #region 更新[付款单明细]数据 _bll.CopyModelList <PayBillManagerDetailUIModel, MDLFM_PayBillDetail>(paramDetailList, updatePayBillDetaillList); foreach (var loopPayBillDetaill in updatePayBillDetaillList) { loopPayBillDetaill.WHERE_PBD_ID = loopPayBillDetaill.PBD_ID; loopPayBillDetaill.WHERE_PBD_VersionNo = loopPayBillDetaill.PBD_VersionNo; loopPayBillDetaill.PBD_VersionNo++; } #endregion #region 更新[钱包余额]和新增[钱包异动] if (paramHead.PB_PayTypeName == TradeTypeEnum.Name.WALLET) { #region 更新[钱包] updateWallet.WHERE_Wal_ID = paramHead.Wal_ID; updateWallet.WHERE_Wal_VersionNo = paramHead.Wal_VersionNo; updateWallet.Wal_AvailableBalance = paramHead.Wal_AvailableBalance + paramHead.PB_RealPayableTotalAmount; paramHead.Wal_AvailableBalance = updateWallet.Wal_AvailableBalance ?? 0; #endregion #region 新增[钱包异动] addWalletTrans.WalT_ID = System.Guid.NewGuid().ToString(); addWalletTrans.WalT_Org_ID = LoginInfoDAX.OrgID; addWalletTrans.WalT_Org_Name = LoginInfoDAX.OrgShortName; addWalletTrans.WalT_Wal_ID = paramHead.Wal_ID; addWalletTrans.WalT_Wal_No = paramHead.Wal_No; addWalletTrans.WalT_Time = BLLCom.GetCurStdDatetime(); addWalletTrans.WalT_TypeCode = WalTransTypeEnum.Code.TK; addWalletTrans.WalT_TypeName = WalTransTypeEnum.Name.TK; addWalletTrans.WalT_Amount = paramHead.PB_RealPayableTotalAmount; addWalletTrans.WalT_BillNo = paramHead.PB_No; addWalletTrans.WalT_IsValid = true; addWalletTrans.WalT_CreatedBy = LoginInfoDAX.UserName; addWalletTrans.WalT_CreatedTime = BLLCom.GetCurStdDatetime(); addWalletTrans.WalT_UpdatedBy = LoginInfoDAX.UserName; addWalletTrans.WalT_UpdatedTime = BLLCom.GetCurStdDatetime(); #endregion } #endregion #endregion #region 带事务的保存 try { DBManager.BeginTransaction(DBCONFIG.Coeus); #region 更新[付款单] bool updatePayBillResult = _bll.Save(updatePayBill); if (!updatePayBillResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.APPROVE + SystemTableEnums.Name.FM_PayBill }); return(false); } #endregion #region 更新[付款单明细] foreach (var loopPayBillDetaill in updatePayBillDetaillList) { bool updateDetailResult = _bll.Update(loopPayBillDetaill); if (!updateDetailResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.APPROVE + SystemTableEnums.Name.FM_PayBillDetail }); return(false); } } #endregion #region 新增[应付单] bool addAccountPayableBillResult = _bll.InsertByList <MDLFM_AccountPayableBill, MDLFM_AccountPayableBill>(addAccountPayableBillList); if (!addAccountPayableBillResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.ADD + SystemTableEnums.Name.FM_AccountPayableBill }); return(false); } #endregion #region 新增[应付单明细] bool addAccountPayableBillDetailResult = _bll.InsertByList <MDLFM_AccountPayableBillDetail, MDLFM_AccountPayableBillDetail>(addAccountPayableBillDetailList); if (!addAccountPayableBillDetailResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.ADD + SystemTableEnums.Name.FM_AccountPayableBillDetail }); return(false); } #endregion #region 更新[钱包余额]和新增[钱包异动] if (paramHead.PB_PayTypeName == TradeTypeEnum.Name.WALLET) { #region 更新[钱包余额] bool updateWalletResult = _bll.Save(updateWallet); if (!updateWalletResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.UPDATE + SystemTableEnums.Name.EWM_Wallet }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } #endregion #region 新增[钱包异动] bool addWalletTransResult = _bll.Insert <MDLEWM_WalletTrans>(addWalletTrans); if (!addWalletTransResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { MsgParam.ADD + SystemTableEnums.Name.EWM_WalletTrans }); return(false); } #endregion } #endregion DBManager.CommitTransaction(DBCONFIG.Coeus); } catch (Exception ex) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.APPROVE, ex.Message }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, MethodBase.GetCurrentMethod().ToString(), ex.Message, "", null); return(false); } #endregion //将最新数据回写给DetailDS CopyModel(updatePayBill, paramHead); return(true); }
/// <summary> /// 保存数据 /// </summary> /// <param name="paramPayBill"></param> /// <param name="paramBusinessPayConfirmList"></param> /// <param name="paramAccountPayableBillList"></param> /// <returns></returns> public bool SavePurchaseOrderToPayConfirmData(MDLFM_PayBill paramPayBill, List <PurchaseOrderToPayConfirmWindowModel> paramBusinessPayConfirmList, List <MDLFM_AccountPayableBill> paramAccountPayableBillList) { var funcName = "SaveBusinessPayConfirmData"; LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null); #region 准备数据 //待新增的[付款单] MDLFM_PayBill insertPayBill = new MDLFM_PayBill(); //待新增的[付款单明细]列表 List <MDLFM_PayBillDetail> insertPayBillDetailList = new List <MDLFM_PayBillDetail>(); //待更新的[应付单]列表 List <MDLFM_AccountPayableBill> updateAccountPayableBillList = new List <MDLFM_AccountPayableBill>(); #region 新增付款单 insertPayBill.PB_ID = Guid.NewGuid().ToString(); insertPayBill.PB_No = BLLCom.GetCoeusDocumentNo(DocumentTypeEnums.Code.PB); insertPayBill.PB_Pay_Org_ID = paramBusinessPayConfirmList[0].BusinessOrgID; insertPayBill.PB_Pay_Org_Name = paramBusinessPayConfirmList[0].BusinessOrgName; insertPayBill.PB_Date = BLLCom.GetCurStdDatetime(); insertPayBill.PB_RecObjectTypeCode = paramBusinessPayConfirmList[0].ReceiveObjectTypeCode; insertPayBill.PB_RecObjectTypeName = paramBusinessPayConfirmList[0].ReceiveObjectTypeName; insertPayBill.PB_RecObjectID = paramBusinessPayConfirmList[0].ReceiveObjectID; insertPayBill.PB_RecObjectName = paramBusinessPayConfirmList[0].ReceiveObjectName; insertPayBill.PB_PayableTotalAmount = paramPayBill.PB_PayableTotalAmount; insertPayBill.PB_RealPayableTotalAmount = paramPayBill.PB_RealPayableTotalAmount; insertPayBill.PB_PayAccount = paramPayBill.PB_PayAccount; insertPayBill.PB_RecAccount = paramPayBill.PB_RecAccount; insertPayBill.PB_PayTypeName = paramPayBill.PB_PayTypeName; insertPayBill.PB_PayTypeCode = paramPayBill.PB_PayTypeCode; insertPayBill.PB_CertificateNo = paramPayBill.PB_CertificateNo; insertPayBill.PB_BusinessStatusName = ReceiptBillStatusEnum.Name.YWC; insertPayBill.PB_BusinessStatusCode = ReceiptBillStatusEnum.Code.YWC; insertPayBill.PB_ApprovalStatusName = ApprovalStatusEnum.Name.YSH; insertPayBill.PB_ApprovalStatusCode = ApprovalStatusEnum.Code.YSH; insertPayBill.PB_Remark = paramPayBill.PB_Remark; insertPayBill.PB_IsValid = true; insertPayBill.PB_CreatedBy = LoginInfoDAX.UserName; insertPayBill.PB_CreatedTime = BLLCom.GetCurStdDatetime(); insertPayBill.PB_UpdatedBy = LoginInfoDAX.UserName; insertPayBill.PB_UpdatedTime = BLLCom.GetCurStdDatetime(); #endregion foreach (var loopItem in paramBusinessPayConfirmList) { if (loopItem.ThisPayAmount == 0 && loopItem.UnPayTotalAmount != 0) { continue; } #region 待新增的[付款单明细] MDLFM_PayBillDetail insertPayBillDetail = new MDLFM_PayBillDetail() { PBD_ID = Guid.NewGuid().ToString(), PBD_PB_ID = insertPayBill.PB_ID, PBD_PB_No = insertPayBill.PB_No, PBD_SrcBillNo = loopItem.BusinessNo, PBD_PayAmount = loopItem.ThisPayAmount, PBD_CreatedBy = LoginInfoDAX.UserName, PBD_CreatedTime = BLLCom.GetCurStdDatetime(), PBD_UpdatedBy = LoginInfoDAX.UserName, PBD_UpdatedTime = BLLCom.GetCurStdDatetime(), }; if (loopItem.APB_SourceTypeName == AccountPayableBillSourceTypeEnum.Name.SHYF) { insertPayBillDetail.PBD_SourceTypeName = PayBillDetailSourceTypeEnum.Name.BZCG; insertPayBillDetail.PBD_SourceTypeCode = PayBillDetailSourceTypeEnum.Code.BZCG; } else if (loopItem.APB_SourceTypeName == AccountPayableBillSourceTypeEnum.Name.CKYF) { insertPayBillDetail.PBD_SourceTypeName = PayBillDetailSourceTypeEnum.Name.THSK; insertPayBillDetail.PBD_SourceTypeCode = PayBillDetailSourceTypeEnum.Code.THSK; } else if (loopItem.APB_SourceTypeName == AccountPayableBillSourceTypeEnum.Name.SGCJ) { insertPayBillDetail.PBD_SourceTypeName = PayBillDetailSourceTypeEnum.Name.SGFK; insertPayBillDetail.PBD_SourceTypeCode = PayBillDetailSourceTypeEnum.Code.SGFK; } else if (loopItem.APB_SourceTypeName == AccountReceivableBillSourceTypeEnum.Name.XSYS) { insertPayBillDetail.PBD_SourceTypeName = ReceiptBillDetailSourceTypeEnum.Name.XSSK; insertPayBillDetail.PBD_SourceTypeCode = ReceiptBillDetailSourceTypeEnum.Code.XSSK; } else if (loopItem.APB_SourceTypeName == AccountReceivableBillSourceTypeEnum.Name.QTYS) { insertPayBillDetail.PBD_SourceTypeName = ReceiptBillDetailSourceTypeEnum.Name.QTSK; insertPayBillDetail.PBD_SourceTypeCode = ReceiptBillDetailSourceTypeEnum.Code.QTSK; } insertPayBillDetailList.Add(insertPayBillDetail); #endregion #region 待更新的[应付单]列表 //筛选出当前业务单下所有的应付单 var tempAccountPayableBillList = paramAccountPayableBillList.Where(x => x.APB_SourceBillNo == loopItem.APB_SourceBillNo).ToList(); //当前业务单对应的未付总金额 decimal unPaidTotalAmount = 0; //当前业务单对应的本次付款金额 decimal thisPayAmount = loopItem.ThisPayAmount ?? 0; for (int i = 0; i < tempAccountPayableBillList.Count; i++) { //当本次付款金额小于或等于0是调出循环 if (loopItem.ThisPayAmount <= 0) { break; } unPaidTotalAmount += (tempAccountPayableBillList[i].APB_UnpaidAmount ?? 0); //本次付款多付出的钱 decimal overPaidAmount = 0; if (thisPayAmount > unPaidTotalAmount) { overPaidAmount = thisPayAmount - unPaidTotalAmount; } if (loopItem.ThisPayAmount <= tempAccountPayableBillList[i].APB_UnpaidAmount && tempAccountPayableBillList[i].APB_UnpaidAmount > 0) { #region 更新的应付单 MDLFM_AccountPayableBill updatePayableBill = new MDLFM_AccountPayableBill() { APB_ID = tempAccountPayableBillList[i].APB_ID, APB_No = tempAccountPayableBillList[i].APB_No, APB_BillDirectCode = tempAccountPayableBillList[i].APB_BillDirectCode, APB_BillDirectName = tempAccountPayableBillList[i].APB_BillDirectName, APB_SourceTypeCode = tempAccountPayableBillList[i].APB_SourceTypeCode, APB_SourceTypeName = tempAccountPayableBillList[i].APB_SourceTypeName, APB_SourceBillNo = tempAccountPayableBillList[i].APB_SourceBillNo, APB_Org_ID = tempAccountPayableBillList[i].APB_Org_ID, APB_Org_Name = tempAccountPayableBillList[i].APB_Org_Name, APB_AccountPayableAmount = tempAccountPayableBillList[i].APB_AccountPayableAmount, APB_ApprovalStatusCode = tempAccountPayableBillList[i].APB_ApprovalStatusCode, APB_ApprovalStatusName = tempAccountPayableBillList[i].APB_ApprovalStatusName, APB_CreatedBy = tempAccountPayableBillList[i].APB_CreatedBy, APB_CreatedTime = tempAccountPayableBillList[i].APB_CreatedTime, APB_UpdatedBy = LoginInfoDAX.UserName, APB_UpdatedTime = BLLCom.GetCurStdDatetime(), APB_VersionNo = tempAccountPayableBillList[i].APB_VersionNo, WHERE_APB_ID = tempAccountPayableBillList[i].APB_ID, WHERE_APB_VersionNo = tempAccountPayableBillList[i].APB_VersionNo }; //已付金额 updatePayableBill.APB_PaidAmount = (tempAccountPayableBillList[i].APB_PaidAmount ?? 0) + (loopItem.ThisPayAmount ?? 0); //本次付款金额 loopItem.ThisPayAmount = loopItem.ThisPayAmount - ((updatePayableBill.APB_AccountPayableAmount ?? 0) - (updatePayableBill.APB_UnpaidAmount ?? 0)); //未付金额 updatePayableBill.APB_UnpaidAmount = (tempAccountPayableBillList[i].APB_AccountPayableAmount ?? 0) - (updatePayableBill.APB_PaidAmount ?? 0); if ((updatePayableBill.APB_PaidAmount ?? 0) >= (tempAccountPayableBillList[i].APB_AccountPayableAmount ?? 0)) { //单据状态 updatePayableBill.APB_BusinessStatusCode = AccountReceivableBillStatusEnum.Code.YWC; updatePayableBill.APB_BusinessStatusName = AccountReceivableBillStatusEnum.Name.YWC; } updateAccountPayableBillList.Add(updatePayableBill); #endregion } else if (loopItem.ThisPayAmount > tempAccountPayableBillList[i].APB_UnpaidAmount && tempAccountPayableBillList[i].APB_UnpaidAmount > 0) { //本次付款金额>当前应付单未付金额的场合,当前应付单的已付金额=应付金额 #region 更新的应付单 MDLFM_AccountPayableBill updatePayableBill = new MDLFM_AccountPayableBill() { APB_ID = tempAccountPayableBillList[i].APB_ID, APB_No = tempAccountPayableBillList[i].APB_No, APB_BillDirectCode = tempAccountPayableBillList[i].APB_BillDirectCode, APB_BillDirectName = tempAccountPayableBillList[i].APB_BillDirectName, APB_SourceTypeCode = tempAccountPayableBillList[i].APB_BillDirectName, APB_SourceTypeName = tempAccountPayableBillList[i].APB_SourceTypeName, APB_SourceBillNo = tempAccountPayableBillList[i].APB_SourceBillNo, APB_Org_ID = tempAccountPayableBillList[i].APB_Org_ID, APB_Org_Name = tempAccountPayableBillList[i].APB_Org_Name, APB_AccountPayableAmount = tempAccountPayableBillList[i].APB_AccountPayableAmount, APB_ApprovalStatusCode = tempAccountPayableBillList[i].APB_ApprovalStatusCode, APB_ApprovalStatusName = tempAccountPayableBillList[i].APB_ApprovalStatusName, APB_CreatedBy = tempAccountPayableBillList[i].APB_CreatedBy, APB_CreatedTime = tempAccountPayableBillList[i].APB_CreatedTime, APB_UpdatedBy = LoginInfoDAX.UserName, APB_UpdatedTime = BLLCom.GetCurStdDatetime(), APB_VersionNo = tempAccountPayableBillList[i].APB_VersionNo, WHERE_APB_ID = tempAccountPayableBillList[i].APB_ID, WHERE_APB_VersionNo = tempAccountPayableBillList[i].APB_VersionNo }; loopItem.ThisPayAmount = loopItem.ThisPayAmount - paramAccountPayableBillList[i].APB_UnpaidAmount; //已付金额 updatePayableBill.APB_PaidAmount = updatePayableBill.APB_AccountPayableAmount; //未付金额 updatePayableBill.APB_UnpaidAmount = 0; //单据状态 updatePayableBill.APB_BusinessStatusCode = AccountReceivableBillStatusEnum.Code.YWC; updatePayableBill.APB_BusinessStatusName = AccountReceivableBillStatusEnum.Name.YWC; updateAccountPayableBillList.Add(updatePayableBill); #endregion } if (overPaidAmount > 0 && i == tempAccountPayableBillList.Count - 1) { bool isRepeat = false; foreach (var loopUpdateAccountPayableBill in updateAccountPayableBillList) { if (loopUpdateAccountPayableBill.APB_ID == tempAccountPayableBillList[i].APB_ID) { loopUpdateAccountPayableBill.APB_PaidAmount = loopUpdateAccountPayableBill.APB_PaidAmount + overPaidAmount; loopUpdateAccountPayableBill.APB_UnpaidAmount = 0; isRepeat = true; break; } } if (!isRepeat) { MDLFM_AccountPayableBill updatePayableBill = new MDLFM_AccountPayableBill() { APB_ID = tempAccountPayableBillList[i].APB_ID, APB_No = tempAccountPayableBillList[i].APB_No, APB_BillDirectCode = tempAccountPayableBillList[i].APB_BillDirectCode, APB_BillDirectName = tempAccountPayableBillList[i].APB_BillDirectName, APB_SourceTypeCode = tempAccountPayableBillList[i].APB_BillDirectName, APB_SourceTypeName = tempAccountPayableBillList[i].APB_SourceTypeName, APB_SourceBillNo = tempAccountPayableBillList[i].APB_SourceBillNo, APB_Org_ID = tempAccountPayableBillList[i].APB_Org_ID, APB_Org_Name = tempAccountPayableBillList[i].APB_Org_Name, APB_AccountPayableAmount = tempAccountPayableBillList[i].APB_AccountPayableAmount, APB_ApprovalStatusCode = tempAccountPayableBillList[i].APB_ApprovalStatusCode, APB_ApprovalStatusName = tempAccountPayableBillList[i].APB_ApprovalStatusName, APB_CreatedBy = tempAccountPayableBillList[i].APB_CreatedBy, APB_CreatedTime = tempAccountPayableBillList[i].APB_CreatedTime, APB_UpdatedBy = LoginInfoDAX.UserName, APB_UpdatedTime = BLLCom.GetCurStdDatetime(), APB_VersionNo = tempAccountPayableBillList[i].APB_VersionNo, WHERE_APB_ID = tempAccountPayableBillList[i].APB_ID, WHERE_APB_VersionNo = tempAccountPayableBillList[i].APB_VersionNo }; updatePayableBill.APB_PaidAmount = tempAccountPayableBillList[i].APB_PaidAmount + overPaidAmount; updatePayableBill.APB_UnpaidAmount = tempAccountPayableBillList[i].APB_UnpaidAmount - overPaidAmount; updateAccountPayableBillList.Add(updatePayableBill); } } } #endregion } #endregion #region 带事务的保存 try { DBManager.BeginTransaction(DBCONFIG.Coeus); #region 新增的[付款单] bool insertPayBillResult = _bll.Insert(insertPayBill); if (!insertPayBillResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_PayBill }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } #endregion #region 保存[付款单明细]列表 if (insertPayBillDetailList.Count > 0) { bool insertPayBillDetailResult = _bll.InsertByList <MDLFM_PayBillDetail, MDLFM_PayBillDetail>(insertPayBillDetailList); if (!insertPayBillDetailResult) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_PayBillDetail }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } } #endregion #region 更新应付单 if (updateAccountPayableBillList.Count > 0) { foreach (var loopAccountReceivableBill in updateAccountPayableBillList) { bool updateAccountReceivableBill = _bll.Update(loopAccountReceivableBill); if (!updateAccountReceivableBill) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.FM_AccountPayableBill }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null); return(false); } } } #endregion DBManager.CommitTransaction(DBCONFIG.Coeus); } catch (Exception ex) { DBManager.RollBackTransaction(DBCONFIG.Coeus); ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.SAVE, ex.Message }); LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ex.Message, "", null); return(false); } #endregion return(true); }