public void UptRepayApplyMasterAndDetailForMobileToSubmit(string strActionType, T_FB_REPAYAPPLYMASTER entity, ref string strMsg) { bool re = false; if (LockOrder(entity.REPAYAPPLYMASTERID)) { strMsg = "单据正在提交或审核中,不可重复操作!"; return; } try { FBAEnums.CheckStates dOldChecksates = FBAEnums.CheckStates.UnSubmit; T_FB_REPAYAPPLYMASTER cha = GetRepayApplyMasterByID(entity.REPAYAPPLYMASTERID); if (cha == null) { strMsg = "提交的单据不存在或已删除,不可继续操作!"; return; } object checkStatesOld = cha.CHECKSTATES; dOldChecksates = (FBAEnums.CheckStates) int.Parse(checkStatesOld.ToString()); object checkStatesNew = entity.CHECKSTATES; FBAEnums.CheckStates dNewCheckStates = (FBAEnums.CheckStates) int.Parse(checkStatesNew.ToString()); if ((dOldChecksates == FBAEnums.CheckStates.Approved || dOldChecksates == FBAEnums.CheckStates.UnApproved) && strActionType.ToUpper() != "RESUBMIT") { strMsg = "单据已审核完毕,不可再次操作"; return; } Utility.CloneEntity(entity, cha); cha.UPDATEDATE = DateTime.Now; bool n = Update(cha); if (n == false) { dal.RollbackTransaction(); strMsg = "单据更新异常!"; return; } } catch (Exception ex) { string ErrInfo = this.GetType().ToString() + ":UptRepayApplyMasterAndDetailForMobile," + System.DateTime.Now.ToString() + "," + ex.Message; Tracer.Debug(ErrInfo); } finally { ReleaseOrder(entity.REPAYAPPLYMASTERID); } }
/// <summary> /// 更新还款主表CHECKSTATES字段值 add by zl 该方法由引擎调用,用来更改主表checkstates状态 /// </summary> /// <param name="entity"></param> /// <returns></returns> public string UptRepayApplyCheckState(T_FB_REPAYAPPLYMASTER entity, List <T_FB_REPAYAPPLYDETAIL> detailList) { bool flag = false; string strMsg = string.Empty; PersonAccountBLL PerBLL = new PersonAccountBLL(); if (LockOrder(entity.REPAYAPPLYMASTERID)) { strMsg = "单据正在提交或审核中,不可重复操作!"; return(strMsg); } try { FBAEnums.CheckStates dOldChecksates = FBAEnums.CheckStates.UnSubmit; object checkStatesNew = entity.CHECKSTATES; FBAEnums.CheckStates dNewCheckStates = (FBAEnums.CheckStates) int.Parse(checkStatesNew.ToString()); T_FB_REPAYAPPLYMASTER cha = GetRepayApplyMasterByID(entity.REPAYAPPLYMASTERID); if (cha == null) { strMsg = entity.REPAYAPPLYMASTERID + "还款单据不存在,不可继续操作!"; Tracer.Debug(strMsg); return(strMsg); } object checkStatesOld = cha.CHECKSTATES; dOldChecksates = (FBAEnums.CheckStates) int.Parse(checkStatesOld.ToString()); if (dOldChecksates == FBAEnums.CheckStates.Approved && dNewCheckStates == FBAEnums.CheckStates.Approving) { strMsg = "已审核通过的费用报销单禁止再次审核!"; string ErrInfo = this.GetType().ToString() + ":UptChargeApplyCheckState," + System.DateTime.Now.ToString() + "," + strMsg; Tracer.Debug(ErrInfo); return(strMsg); } Utility.CloneEntity(entity, cha); //add zl 12.7 提交审核时产生单据号 dal.BeginTransaction(); string strCode = ""; if (string.IsNullOrEmpty(cha.REPAYAPPLYCODE.Trim())) { try { strCode = new OrderCodeBLL().GetAutoOrderCode(entity); cha.REPAYAPPLYCODE = strCode; string err = this.GetType().ToString() + "," + System.DateTime.Now.ToString() + cha.REPAYAPPLYMASTERID + ":产生单据号 " + strCode; Tracer.Debug(err); } catch (Exception ex) { string sr = this.GetType().ToString() + "," + System.DateTime.Now.ToString() + cha.REPAYAPPLYMASTERID + ":产生单据号时出现异常 " + ex.Message; Tracer.Debug(sr); dal.RollbackTransaction(); strMsg = "产生单据号时出现异常!"; return(strMsg); } } string Logmsg = this.GetType().ToString() + "," + System.DateTime.Now.ToString() + ":UptRepayApplyCheckState,表单ID " + cha.REPAYAPPLYMASTERID + ",审核状态:" + cha.CHECKSTATES; Tracer.Debug(Logmsg); //add end //add zl 审核中时检查还款金额是否大于借款余额 2012.1.11 if (dNewCheckStates == FBAEnums.CheckStates.Approving || dNewCheckStates == FBAEnums.CheckStates.Approved) { strMsg = PerBLL.CheckRepMoneyForRepay(cha, detailList, (int)dNewCheckStates); if (!string.IsNullOrEmpty(strMsg)) { dal.RollbackTransaction(); return(strMsg); } } //add end cha.UPDATEDATE = DateTime.Now; bool n = Update(cha); if (!n) { strMsg = "单据明细更新异常!"; dal.RollbackTransaction(); return(strMsg); } if (dNewCheckStates == FBAEnums.CheckStates.UnSubmit) { dal.CommitTransaction(); return(strMsg); } if (dNewCheckStates == FBAEnums.CheckStates.Approving && (dOldChecksates != FBAEnums.CheckStates.UnSubmit && dOldChecksates != FBAEnums.CheckStates.UnApproved)) { dal.CommitTransaction(); return(strMsg); } if (dNewCheckStates == FBAEnums.CheckStates.Approved && dOldChecksates != FBAEnums.CheckStates.Approving) { dal.CommitTransaction(); return(strMsg); } if (dNewCheckStates == FBAEnums.CheckStates.UnApproved && dOldChecksates != FBAEnums.CheckStates.Approving) { dal.CommitTransaction(); return(strMsg); } //add zl 12.7 终审通过时还款更新PersonAccount表 if (dNewCheckStates == FBAEnums.CheckStates.Approved) { n = PerBLL.UptPersonAccountByRepa(cha, detailList, (int)dNewCheckStates); if (!n) { strMsg = "更新借还总账表异常!"; dal.RollbackTransaction(); return(strMsg); } } dal.CommitTransaction(); //add end return(strMsg); } catch (Exception ex) { string ErrInfo = this.GetType().ToString() + ":UptRepayApplyCheckState," + System.DateTime.Now.ToString() + "," + ex.Message; Tracer.Debug(ErrInfo); strMsg = "更新单据状态出现异常!"; return(strMsg); } finally { ReleaseOrder(entity.REPAYAPPLYMASTERID); } }
/// <summary> /// 修改还款申请记录 /// </summary> /// <param name="strActionType"></param> /// <param name="entity"></param> /// <param name="detailList"></param> /// <param name="strMsg"></param> public void UptRepayApplyMasterAndDetailForMobile(string strActionType, T_FB_REPAYAPPLYMASTER entity, List <T_FB_REPAYAPPLYDETAIL> detailList, ref string strMsg) { try { bool isReturn = CheckRepay(ref entity, ref detailList, ref strMsg, "2"); if (!isReturn) { return; } } catch { } bool re = false; if (LockOrder(entity.REPAYAPPLYMASTERID)) { strMsg = "单据正在提交或审核中,不可重复操作!"; return; } try { FBAEnums.CheckStates dOldChecksates = FBAEnums.CheckStates.UnSubmit; T_FB_REPAYAPPLYMASTER cha = GetRepayApplyMasterByID(entity.REPAYAPPLYMASTERID); if (cha == null) { strMsg = "提交的单据不存在或已删除,不可继续操作!"; return; } object checkStatesOld = cha.CHECKSTATES; dOldChecksates = (FBAEnums.CheckStates) int.Parse(checkStatesOld.ToString()); object checkStatesNew = entity.CHECKSTATES; FBAEnums.CheckStates dNewCheckStates = (FBAEnums.CheckStates) int.Parse(checkStatesNew.ToString()); if ((dOldChecksates == FBAEnums.CheckStates.Approved || dOldChecksates == FBAEnums.CheckStates.UnApproved) && strActionType.ToUpper() != "RESUBMIT") { strMsg = "单据已审核完毕,不可再次操作"; return; } Utility.CloneEntity(entity, cha); cha.UPDATEDATE = DateTime.Now; bool n = Update(cha); if (n == false) { dal.RollbackTransaction(); strMsg = "单据更新异常!"; return; } RepayApplyDetailBLL bllRepayDetail = new RepayApplyDetailBLL(); re = bllRepayDetail.UpdateRepayApplyDetail(cha.REPAYAPPLYMASTERID, detailList);//删除报销明细 if (!re) { dal.RollbackTransaction(); strMsg = "单据明细更新异常!"; return; } if (dOldChecksates == dNewCheckStates && dOldChecksates == (int)FBAEnums.CheckStates.UnSubmit && strActionType.ToUpper() == "EDIT") { strMsg = "单据更新成功!"; return; } } catch (Exception ex) { string ErrInfo = this.GetType().ToString() + ":UptRepayApplyMasterAndDetailForMobile," + System.DateTime.Now.ToString() + "," + ex.Message; Tracer.Debug(ErrInfo); } finally { ReleaseOrder(entity.REPAYAPPLYMASTERID); } }
/// <summary> /// 更新还款主从表数据 add by zl /// </summary> /// <param name="entity"></param> /// <param name="detailList"></param> /// <returns></returns> public void UptRepayApplyMasterAndDetail(string strActionType, T_FB_REPAYAPPLYMASTER entity, List <T_FB_REPAYAPPLYDETAIL> detailList, ref string strMsg) { try { var company = OrgClient.GetCompanyById(entity.OWNERCOMPANYID); if (company != null) { entity.OWNERCOMPANYNAME = company.CNAME; } } catch { } bool re = false; if (LockOrder(entity.REPAYAPPLYMASTERID)) { strMsg = "单据正在提交或审核中,不可重复操作!"; return; } try { FBAEnums.CheckStates dOldChecksates = FBAEnums.CheckStates.UnSubmit; T_FB_REPAYAPPLYMASTER cha = GetRepayApplyMasterByID(entity.REPAYAPPLYMASTERID); if (cha == null) { strMsg = "提交的单据不存在或已删除,不可继续操作!"; return; } object checkStatesOld = cha.CHECKSTATES; dOldChecksates = (FBAEnums.CheckStates) int.Parse(checkStatesOld.ToString()); object checkStatesNew = entity.CHECKSTATES; FBAEnums.CheckStates dNewCheckStates = (FBAEnums.CheckStates) int.Parse(checkStatesNew.ToString()); if ((dOldChecksates == FBAEnums.CheckStates.Approved || dOldChecksates == FBAEnums.CheckStates.UnApproved) && strActionType.ToUpper() != "RESUBMIT") { strMsg = "单据已审核完毕,不可再次操作"; return; } //不用月结可以进行借还款 //#region 是否本月有结算 //bool isChecked = SystemSettingsBLL.IsChecked; //// 没月结,只能处理报销。 //string entityType = entity.GetType().Name; //string[] EntityTypes = new string[] { typeof(T_FB_BORROWAPPLYMASTER).Name, // typeof(T_FB_REPAYAPPLYMASTER).Name, typeof(T_FB_CHARGEAPPLYMASTER).Name}; //// 月结不可操作:1.日常报销类型的单据的审核或提交,2.所有单据的提交或重新提交 //if (!isChecked && (EntityTypes.Contains(entityType) || (strActionType.ToUpper() == "SUBMIT") // || (strActionType.ToUpper() == "RESUBMIT"))) //{ // strMsg = "本月尚未结算,无法提交或审核!"; // return; //} //#endregion Utility.CloneEntity(entity, cha); cha.UPDATEDATE = DateTime.Now; bool n = Update(cha); if (n == false) { dal.RollbackTransaction(); strMsg = "单据更新异常!"; return; } RepayApplyDetailBLL bllRepayDetail = new RepayApplyDetailBLL(); re = bllRepayDetail.UpdateRepayApplyDetail(cha.REPAYAPPLYMASTERID, detailList);//删除报销明细 if (!re) { dal.RollbackTransaction(); strMsg = "单据明细更新异常!"; return; } if (dOldChecksates == dNewCheckStates && dOldChecksates == (int)FBAEnums.CheckStates.UnSubmit && strActionType.ToUpper() == "EDIT") { strMsg = "单据更新成功!"; return; } //if (dNewCheckStates == FBAEnums.CheckStates.Approving && ((strActionType.ToUpper() == "SUBMIT" && dOldChecksates == FBAEnums.CheckStates.UnSubmit) // || (strActionType.ToUpper() == "RESUBMIT" && dOldChecksates == FBAEnums.CheckStates.UnApproved))) //{ // BudgetAccountBLL budgetBLL = new BudgetAccountBLL(); // budgetBLL.UpdateAccount(cha, (int)dNewCheckStates); //} } catch (Exception ex) { string ErrInfo = this.GetType().ToString() + ":UptRepayApplyMasterAndDetail," + System.DateTime.Now.ToString() + "," + ex.Message; Tracer.Debug(ErrInfo); } finally { ReleaseOrder(entity.REPAYAPPLYMASTERID); } }