电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

U9技术文档-开发规范-U9研发体系(档案挂起解除规范).PDFVIP免费

U9技术文档-开发规范-U9研发体系(档案挂起解除规范).PDF_第1页
1/7
U9技术文档-开发规范-U9研发体系(档案挂起解除规范).PDF_第2页
2/7
U9技术文档-开发规范-U9研发体系(档案挂起解除规范).PDF_第3页
3/7
U9 档案挂起解除规范 版 本 号 :V1.1 作者:张固文 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 张固文 2008/07/30 原始文档建立 1.1 张固文 2008/9/2 按照评审意见修改 一.问题域说明 档案的挂起: 因某种原因需要将档案暂时挂起,并冻结相关业务操作,比如客户挂起同时即将其相关业务操作冻结。 档案的解除: 挂起的原因已消失,重新激活该档案,并同步放开相关的冻结操作. 二.基本原理 1. 制作 3 个 BP 实现挂起解除相关操作; 2. 在客户挂起界面点确定时,调用 CustomerHoldBP 将客户挂起 3. 在客户挂起解除界面点确定时,调用 CustomerReleaseBP 将客户挂起解除。 4. 在客户状态界面,点击 Label 挂起日期的链接弹出客户挂起解除历史查询。 三.关键代码及说明 1、 在 CustomerExtend.cs 中添加两个方法: public void Hold(HoldReason holdReason) { // 冻结相关业务单据 HoldThis(holdReason); } public void Release(HoldReason holdReason, ReleaseReason releaseReason) { // 冻结相关业务单据 ReleaseThis(holdReason, releaseReason); } Customer使用了挂起解除版型,以下就是自动为其生成的HoldThis和ReleaseThis代码 protected void HoldThis(UFIDA.U9.Base.HoldRelease.HoldReason holdReason) { HoldThis(holdReason, System.DateTime.Now, UFIDA.U9.Base.UserRole.User.Finder.FindByID(UFIDA.U9.Base.Context.LoginUserID)); } protected void HoldThis(UFIDA.U9.Base.HoldRelease.HoldReason holdReason, DateTime holdDate, UFIDA.U9.Base.UserRole.User holdUser) { if (UFIDA.U9.Base.HoldRelease.HoldReleaseHis.Hold(this.Key, holdReason, holdDate, holdUser)) { ClearValue(); this.HoldReason = holdReason; this.HoldDate = holdDate; this.HoldUser = holdUser; this.NeedValidate = false; } } protected void ReleaseThis(UFIDA.U9.Base.HoldRelease.HoldReason holdReason, UFIDA.U9.Base.HoldRelease.ReleaseReason releaseReason) { ReleaseThis(holdReason, releaseReason, System.DateTime.Now, UFIDA.U9.Base.UserRole.User.Finder.FindByID(UFIDA.U9.Base.Context.LoginUserID)); } protected void ReleaseThis(UFIDA.U9.Base.HoldRelease.HoldReason holdReason, UFIDA.U9.Base.HoldRelease.ReleaseReason releaseReason, DateTime releaseDate, UFIDA.U9.Base.UserRole.User releaseUser) { if (UFIDA.U9.Base.HoldRelease.HoldReleaseHis.Release(this.Key, holdReason, releaseReason, releaseDate, releaseUser)) { this.ReleaseReason = releaseReason; this.ReleaseDate = releaseDate; this.ReleaseUser = releaseUser; this.NeedValidate = false; } } 2、 制作三个 BP,分别封装 Customer.cs 中的方法: public bool IsHold() GetCustomerHoldStateBP CustomerExtend.cs中的方法 internal class GetCustomerHoldStateBPImpementStrategy : BaseStrategy { public GetCustomerHoldStateBPImpementStrategy() { } public override object Do(object obj) { GetCustomerHoldStateBP bpObj = (GetCustomerHoldStateBP)obj; if (bpObj.CustomerKey != null && bpObj.CustomerKey.GetEntity() != null) { return ((Customer)bpObj.CustomerKey.GetEntity()).IsHold(); } return false; } } 注意IsHold(是否挂起)并非Customer的一个属性字段,需要根据一段业务逻辑来判断,以下就是判断的逻辑: public bool IsHold() { if (this.HoldReason != null && this.ReleaseReason == null) return true; else if (this.HoldReason != null && this.ReleaseReason != null) return this.HoldDate.CompareTo(...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

U9技术文档-开发规范-U9研发体系(档案挂起解除规范).PDF

您可能关注的文档

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信