Bladeren bron

Merge branch 'release' of http://git.12345lm.cn/Fengwo/hotline into release

qinchaoyue 6 maanden geleden
bovenliggende
commit
30ae22a38b

+ 77 - 77
src/Hotline.Application.Contracts/Validators/Order/AddOrderDtoValidator.cs

@@ -12,120 +12,120 @@ public class AddOrderDtoValidator : AbstractValidator<AddOrderDto>
 
         #region 医疗服务中心受理单
 
-        RuleFor(d => d.OrderExtension.MedName).MaxLengthWithChineseChar(200).When(d=>d.OrderExtension!=null).WithMessage("医院名称最多200字符");
-        RuleFor(d => d.OrderExtension.MedAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("医院地址最多500字符");
-        RuleFor(d => d.OrderExtension.MedDepartment).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("科室最多200字符");
-        RuleFor(d => d.OrderExtension.MedDoctor).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("医生最多200字符");
-        RuleFor(d => d.OrderExtension.MedPatient).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("病人姓名最多200字符");
-        RuleFor(d => d.OrderExtension.MedNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("就诊卡号最多200字符");
-        RuleFor(d => d.OrderExtension.MedIdNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("身份证号最多200字符");
+        RuleFor(d => d.OrderExtension.MedName).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("医院名称最多200字符");
+        RuleFor(d => d.OrderExtension.MedAddress).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("医院地址最多500字符");
+        RuleFor(d => d.OrderExtension.MedDepartment).MaxLengthWithChineseChar(100).When(d => d.OrderExtension != null).WithMessage("科室最多100字符");
+        RuleFor(d => d.OrderExtension.MedDoctor).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("医生最多50字符");
+        RuleFor(d => d.OrderExtension.MedPatient).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("病人姓名最多200字符");
+        RuleFor(d => d.OrderExtension.MedNo).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("就诊卡号最多50字符");
+        RuleFor(d => d.OrderExtension.MedIdNo).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("身份证号最多50字符");
         #endregion
 
         #region 电视购物及商铺购买退换货中心受理单
-        RuleFor(d => d.OrderExtension.ExchTv).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("电视台(商铺)最多50字符");
-        RuleFor(d => d.OrderExtension.ExchProduct).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("产品名称最多200字符");
-        RuleFor(d => d.OrderExtension.ExchName).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("商家名称最多200字符");
-        RuleFor(d => d.OrderExtension.ExchAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("商家地址最多500字符");
-        RuleFor(d => d.OrderExtension.ExchConsignee).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("收货人最多200字符");
-        RuleFor(d => d.OrderExtension.ExchConsigneeAddress).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("收货地址最多200字符");
+        RuleFor(d => d.OrderExtension.ExchTv).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("电视台(商铺)最多50字符");
+        RuleFor(d => d.OrderExtension.ExchProduct).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("产品名称最多200字符");
+        RuleFor(d => d.OrderExtension.ExchName).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("商家名称最多200字符");
+        RuleFor(d => d.OrderExtension.ExchAddress).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("商家地址最多500字符");
+        RuleFor(d => d.OrderExtension.ExchConsignee).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("收货人最多200字符");
+        RuleFor(d => d.OrderExtension.ExchConsigneeAddress).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("收货地址最多200字符");
         #endregion
 
         #region 高速公路投诉中心受理单
-        RuleFor(d => d.OrderExtension.ExpwyEntrance).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("高速入口最多200字符");
-        RuleFor(d => d.OrderExtension.ExpwyExit).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("高速出口最多200字符");
-        RuleFor(d => d.OrderExtension.ExpwyNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("高速入口最多50字符");
+        RuleFor(d => d.OrderExtension.ExpwyEntrance).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("高速入口最多200字符");
+        RuleFor(d => d.OrderExtension.ExpwyExit).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("高速出口最多200字符");
+        RuleFor(d => d.OrderExtension.ExpwyNo).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("高速入口最多50字符");
         #endregion
 
         #region 电视台虚假广告中心受理单
-        RuleFor(d => d.OrderExtension.AdTv).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("电视台最多50字符");
-        RuleFor(d => d.OrderExtension.AdProduct).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("产品名称最多200字符");
+        RuleFor(d => d.OrderExtension.AdTv).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("电视台最多50字符");
+        RuleFor(d => d.OrderExtension.AdProduct).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("产品名称最多200字符");
         #endregion
 
         #region 四川政务服务网技术中心受理单
 
-        RuleFor(d => d.OrderExtension.ZwfwwAccount).MaximumLength(20).When(d=>d.OrderExtension!=null).WithMessage("服务账号最多20字符");
-        RuleFor(d => d.OrderExtension.ZwfwwContact).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("联系方式最多50字符");
+        RuleFor(d => d.OrderExtension.ZwfwwAccount).MaxLengthWithChineseChar(20).When(d => d.OrderExtension != null).WithMessage("服务账号最多20字符");
+        RuleFor(d => d.OrderExtension.ZwfwwContact).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("联系方式最多50字符");
         #endregion
 
         #region 四川省12366热线诉求交办单
-        RuleFor(d => d.OrderExtension.Location12366Sq).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("主管税务机关最多500字符");
-        RuleFor(d => d.OrderExtension.Info12366Sq).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("被投诉单位或个人信息最多200字符");
-        RuleFor(d => d.OrderExtension.Type12366Sq).MaximumLength(10).When(d=>d.OrderExtension!=null).WithMessage("投诉类型最多10字符");
+        RuleFor(d => d.OrderExtension.Location12366Sq).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("主管税务机关最多500字符");
+        RuleFor(d => d.OrderExtension.Info12366Sq).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("被投诉单位或个人信息最多200字符");
+        RuleFor(d => d.OrderExtension.Type12366Sq).MaxLengthWithChineseChar(10).When(d => d.OrderExtension != null).WithMessage("投诉类型最多10字符");
         #endregion
 
         #region 四川省12366热线咨询交办单
-        RuleFor(d => d.OrderExtension.Location12366Zx).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("主管税务机关最多500字符");
-        RuleFor(d => d.OrderExtension.Info12366Zx).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("被投诉单位或个人信息最多200字符");
+        RuleFor(d => d.OrderExtension.Location12366Zx).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("主管税务机关最多500字符");
+        RuleFor(d => d.OrderExtension.Info12366Zx).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("被投诉单位或个人信息最多200字符");
         #endregion
 
         #region 12328服务监督中心受理单
-        RuleFor(d => d.OrderExtension.AcceptType12328).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("受理方式最多50字符");
-        RuleFor(d => d.OrderExtension.Client12328).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("客户最多200字符");
+        RuleFor(d => d.OrderExtension.AcceptType12328).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("受理方式最多50字符");
+        RuleFor(d => d.OrderExtension.Client12328).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("客户最多200字符");
         #endregion
 
         #region 邮政业消费者申诉受理单
-        RuleFor(d => d.OrderExtension.MailClaimantName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("申诉人姓名最多50字符");
-        RuleFor(d => d.OrderExtension.MailClaimantPhone).MaximumLength(12).When(d=>d.OrderExtension!=null).WithMessage("申诉人电话最多12字符");
-        RuleFor(d => d.OrderExtension.MailClaimantEnterprise).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("申诉企业最多200字符");
-        RuleFor(d => d.OrderExtension.MailSenderName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("寄件人姓名最多50字符");
-        RuleFor(d => d.OrderExtension.MailSenderPhone).MaximumLength(12).When(d=>d.OrderExtension!=null).WithMessage("寄件人电话最多12字符");
-        RuleFor(d => d.OrderExtension.MailSenderAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("寄件人地址最多500字符");
-        RuleFor(d => d.OrderExtension.MailReceiverName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("收件人姓名最多50字符");
-        RuleFor(d => d.OrderExtension.MailReceiverPhone).MaximumLength(12).When(d=>d.OrderExtension!=null).WithMessage("收件人电话最多12字符");
-        RuleFor(d => d.OrderExtension.MailReceiverAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("收件人地址最多500字符");
+        RuleFor(d => d.OrderExtension.MailClaimantName).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("申诉人姓名最多50字符");
+        RuleFor(d => d.OrderExtension.MailClaimantPhone).MaxLengthWithChineseChar(12).When(d => d.OrderExtension != null).WithMessage("申诉人电话最多12字符");
+        RuleFor(d => d.OrderExtension.MailClaimantEnterprise).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("申诉企业最多200字符");
+        RuleFor(d => d.OrderExtension.MailSenderName).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("寄件人姓名最多50字符");
+        RuleFor(d => d.OrderExtension.MailSenderPhone).MaxLengthWithChineseChar(12).When(d => d.OrderExtension != null).WithMessage("寄件人电话最多12字符");
+        RuleFor(d => d.OrderExtension.MailSenderAddress).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("寄件人地址最多500字符");
+        RuleFor(d => d.OrderExtension.MailReceiverName).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("收件人姓名最多50字符");
+        RuleFor(d => d.OrderExtension.MailReceiverPhone).MaxLengthWithChineseChar(12).When(d => d.OrderExtension != null).WithMessage("收件人电话最多12字符");
+        RuleFor(d => d.OrderExtension.MailReceiverAddress).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("收件人地址最多500字符");
         #endregion
 
         #region 环保举报业务受理单
-        RuleFor(d => d.OrderExtension.EpEmail).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("邮箱最多50字符");
-        RuleFor(d => d.OrderExtension.EpAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("通讯地址最多500字符");
-        RuleFor(d => d.OrderExtension.EpObject).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("举报对象最多200字符");
-        RuleFor(d => d.OrderExtension.EpObjectAddress).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("详细地址最多200字符");
-        RuleFor(d => d.OrderExtension.EpIndustryType).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("行业类型最多50字符");
-        RuleFor(d => d.OrderExtension.EpKeyPoint).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("重点要素最多50字符");
+        RuleFor(d => d.OrderExtension.EpEmail).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("邮箱最多50字符");
+        RuleFor(d => d.OrderExtension.EpAddress).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("通讯地址最多500字符");
+        RuleFor(d => d.OrderExtension.EpObject).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("举报对象最多200字符");
+        RuleFor(d => d.OrderExtension.EpObjectAddress).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("详细地址最多200字符");
+        RuleFor(d => d.OrderExtension.EpIndustryType).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("行业类型最多50字符");
+        RuleFor(d => d.OrderExtension.EpKeyPoint).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("重点要素最多50字符");
         #endregion
 
         #region 投诉人信息
-        RuleFor(d => d.OrderExtension.LicenceTypeCode).MaximumLength(10).When(d => d.OrderExtension != null).WithMessage("证件类型最多10字符");
-        RuleFor(d => d.OrderExtension.LicenceType).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("证件类型名称最多50字符");
-        RuleFor(d => d.OrderExtension.IdentityTypeCode).MaximumLength(4).When(d => d.OrderExtension != null).WithMessage("提供方类型最多4字符");
-        RuleFor(d => d.OrderExtension.IdentityType).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("提供方类型名称最多50字符");
-        RuleFor(d => d.OrderExtension.IdentityCode).MaximumLength(10).When(d => d.OrderExtension != null).WithMessage("提供方身份最多10字符");
-        RuleFor(d => d.OrderExtension.Identity).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("提供方身份名称最多50字符");
-        RuleFor(d => d.OrderExtension.NationalityCode).MaximumLength(1).When(d => d.OrderExtension != null).WithMessage("国籍最多1字符");
-        RuleFor(d => d.OrderExtension.Nationality).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("国籍名称最多50字符");
-        RuleFor(d => d.OrderExtension.NationCode).MaximumLength(4).When(d => d.OrderExtension != null).WithMessage("民族最多4字符");
-        RuleFor(d => d.OrderExtension.Nation).MaximumLength(50).When(d => d.OrderExtension != null).WithMessage("民族名称最多50字符");
-        RuleFor(d => d.OrderExtension.LicenceNo).MaximumLength(64).When(d=>d.OrderExtension!=null).WithMessage("证件号码最多64字符");
-        RuleFor(d => d.OrderExtension.PostalCode).MaximumLength(10).When(d=>d.OrderExtension!=null).WithMessage("邮政编码最多10字符");
-        RuleFor(d => d.OrderExtension.Email).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("电子邮箱最多100字符");
-        RuleFor(d => d.OrderExtension.OtherContact).MaximumLength(64).When(d=>d.OrderExtension!=null).WithMessage("其他联系方式最多64字符");
+        RuleFor(d => d.OrderExtension.LicenceTypeCode).MaxLengthWithChineseChar(10).When(d => d.OrderExtension != null).WithMessage("证件类型最多10字符");
+        RuleFor(d => d.OrderExtension.LicenceType).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("证件类型名称最多50字符");
+        RuleFor(d => d.OrderExtension.IdentityTypeCode).MaxLengthWithChineseChar(4).When(d => d.OrderExtension != null).WithMessage("提供方类型最多4字符");
+        RuleFor(d => d.OrderExtension.IdentityType).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("提供方类型名称最多50字符");
+        RuleFor(d => d.OrderExtension.IdentityCode).MaxLengthWithChineseChar(10).When(d => d.OrderExtension != null).WithMessage("提供方身份最多10字符");
+        RuleFor(d => d.OrderExtension.Identity).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("提供方身份名称最多50字符");
+        RuleFor(d => d.OrderExtension.NationalityCode).MaxLengthWithChineseChar(1).When(d => d.OrderExtension != null).WithMessage("国籍最多1字符");
+        RuleFor(d => d.OrderExtension.Nationality).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("国籍名称最多50字符");
+        RuleFor(d => d.OrderExtension.NationCode).MaxLengthWithChineseChar(4).When(d => d.OrderExtension != null).WithMessage("民族最多4字符");
+        RuleFor(d => d.OrderExtension.Nation).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("民族名称最多50字符");
+        RuleFor(d => d.OrderExtension.LicenceNo).MaxLengthWithChineseChar(64).When(d => d.OrderExtension != null).WithMessage("证件号码最多64字符");
+        RuleFor(d => d.OrderExtension.PostalCode).MaxLengthWithChineseChar(10).When(d => d.OrderExtension != null).WithMessage("邮政编码最多10字符");
+        RuleFor(d => d.OrderExtension.Email).MaxLengthWithChineseChar(100).When(d => d.OrderExtension != null).WithMessage("电子邮箱最多100字符");
+        RuleFor(d => d.OrderExtension.OtherContact).MaxLengthWithChineseChar(64).When(d => d.OrderExtension != null).WithMessage("其他联系方式最多64字符");
         #endregion
 
         #region 投诉对象信息
-        RuleFor(d => d.OrderExtension.EnterpriseName).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("企业名称最多100字符");
-        RuleFor(d => d.OrderExtension.UnifiedSocialCreditCode).MaximumLength(30).When(d=>d.OrderExtension!=null).WithMessage("统一社会信用代码最多30字符");
-        RuleFor(d => d.OrderExtension.RegisterAddress).MaximumLength(500).When(d=>d.OrderExtension!=null).WithMessage("企业注册地址最多500字符");
-        RuleFor(d => d.OrderExtension.RegisterNumber).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("注册号最多50字符");
-        RuleFor(d => d.OrderExtension.EnterpriseContact).MaximumLength(70).When(d=>d.OrderExtension!=null).WithMessage("联系人最多70字符");
-        RuleFor(d => d.OrderExtension.MarketTypeCode).MaximumLength(64).When(d => d.OrderExtension != null).WithMessage("市场主体类型代码最多64字符");
-        RuleFor(d => d.OrderExtension.MarketType).MaximumLength(200).When(d => d.OrderExtension != null).WithMessage("市场主体类型名称最多200字符");
-        RuleFor(d => d.OrderExtension.IndustryClassifyCode).MaximumLength(64).When(d => d.OrderExtension != null).WithMessage("行业类型代码最多64字符");
-        RuleFor(d => d.OrderExtension.IndustryClassify).MaximumLength(200).When(d => d.OrderExtension != null).WithMessage("行业类型名称最多10字符");
+        RuleFor(d => d.OrderExtension.EnterpriseName).MaxLengthWithChineseChar(100).When(d => d.OrderExtension != null).WithMessage("企业名称最多100字符");
+        RuleFor(d => d.OrderExtension.UnifiedSocialCreditCode).MaxLengthWithChineseChar(30).When(d => d.OrderExtension != null).WithMessage("统一社会信用代码最多30字符");
+        RuleFor(d => d.OrderExtension.RegisterAddress).MaxLengthWithChineseChar(500).When(d => d.OrderExtension != null).WithMessage("企业注册地址最多500字符");
+        RuleFor(d => d.OrderExtension.RegisterNumber).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("注册号最多50字符");
+        RuleFor(d => d.OrderExtension.EnterpriseContact).MaxLengthWithChineseChar(70).When(d => d.OrderExtension != null).WithMessage("联系人最多70字符");
+        RuleFor(d => d.OrderExtension.MarketTypeCode).MaxLengthWithChineseChar(64).When(d => d.OrderExtension != null).WithMessage("市场主体类型代码最多64字符");
+        RuleFor(d => d.OrderExtension.MarketType).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("市场主体类型名称最多200字符");
+        RuleFor(d => d.OrderExtension.IndustryClassifyCode).MaxLengthWithChineseChar(64).When(d => d.OrderExtension != null).WithMessage("行业类型代码最多64字符");
+        RuleFor(d => d.OrderExtension.IndustryClassify).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("行业类型名称最多200字符");
         #endregion
 
         #region 投诉详情
-        RuleFor(d => d.OrderExtension.ExternalOrderNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("订单号最多50字符");
-        RuleFor(d => d.OrderExtension.Patentee).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("专利权人最多50字符");
-        RuleFor(d => d.OrderExtension.PatentName).MaximumLength(200).When(d=>d.OrderExtension!=null).WithMessage("专利名称最多200字符");
-        RuleFor(d => d.OrderExtension.PatentNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("专利号最多50字符");
-        RuleFor(d => d.OrderExtension.ProductName).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("产品名称最多50字符");
-        RuleFor(d => d.OrderExtension.ApprovalNumber).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("批准文号最多50字符");
-        RuleFor(d => d.OrderExtension.ProductBatchNo).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("产品批号最多50字符");
-        RuleFor(d => d.OrderExtension.ProductStandard).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("产品规格最多50字符");
-        RuleFor(d => d.OrderExtension.Manufacturer).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("生产厂家最多50字符");
-        RuleFor(d => d.OrderExtension.SalesEnterprise).MaximumLength(50).When(d=>d.OrderExtension!=null).WithMessage("销售企业最多50字符");
-        RuleFor(d => d.OrderExtension.ConsumerAddress).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("消费者地址最多100字符");
-        RuleFor(d => d.OrderExtension.BusinessPosition.Street).MaximumLength(100).When(d=>d.OrderExtension!=null).WithMessage("经营详细地址最多100字符"); 
+        RuleFor(d => d.OrderExtension.ExternalOrderNo).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("订单号最多50字符");
+        RuleFor(d => d.OrderExtension.Patentee).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("专利权人最多50字符");
+        RuleFor(d => d.OrderExtension.PatentName).MaxLengthWithChineseChar(200).When(d => d.OrderExtension != null).WithMessage("专利名称最多200字符");
+        RuleFor(d => d.OrderExtension.PatentNo).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("专利号最多50字符");
+        RuleFor(d => d.OrderExtension.ProductName).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("产品名称最多50字符");
+        RuleFor(d => d.OrderExtension.ApprovalNumber).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("批准文号最多50字符");
+        RuleFor(d => d.OrderExtension.ProductBatchNo).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("产品批号最多50字符");
+        RuleFor(d => d.OrderExtension.ProductStandard).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("产品规格最多50字符");
+        RuleFor(d => d.OrderExtension.Manufacturer).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("生产厂家最多50字符");
+        RuleFor(d => d.OrderExtension.SalesEnterprise).MaxLengthWithChineseChar(50).When(d => d.OrderExtension != null).WithMessage("销售企业最多50字符");
+        RuleFor(d => d.OrderExtension.ConsumerAddress).MaxLengthWithChineseChar(100).When(d => d.OrderExtension != null).WithMessage("消费者地址最多100字符");
+        RuleFor(d => d.OrderExtension.BusinessPosition.Street).MaxLengthWithChineseChar(100).When(d => d.OrderExtension != null && d.OrderExtension.BusinessPosition != null).WithMessage("经营详细地址最多100字符");
         #endregion
     }
 

+ 65 - 63
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -1305,68 +1305,66 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
                     .ToListAsync(cancellationToken);
                 break;
             case EDynamicPolicy.OrgUpLeadCenterTop:
-                orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
-                if (orgLevel < 0) orgLevel = 0;
-
-                if (orgLevel == 0)
-                {
-                    businessType = EBusinessType.Send;
-                    if (currentBusinessType == EBusinessType.Department)
-                        flowDirection = EFlowDirection.OrgToCenter;
-
-                    items = await _organizeRepository.Queryable()
-                        .Where(d => d.IsCenter)
-                        .Select(d => new FlowStepHandler
-                        {
-                            Key = d.Id,
-                            Value = d.Name,
-                            OrgId = d.Id,
-                            OrgName = d.Name
-                        })
-                        .ToListAsync(cancellationToken);
-                }
-                else
-                {
-                    businessType = EBusinessType.Department;
-                    upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(_sessionContextProvider.SessionContext.OrgLevel);
-                    isLead = _sessionContextProvider.SessionContext.Roles.Any(x => x == leadRoleCode);
-                    if (!isLead)
-                    {
-                        isSkip = await _userRepository.Queryable()
-                            .AnyAsync(
-                                x => x.OrgId == _sessionContextProvider.SessionContext.RequiredOrgId && x.Roles.Any(r => r.Name == leadRoleCode),
-                                cancellationToken);
-                        if (isSkip)
-                        {
-                            roleId = leadRoleCode;
-                            roleName = leadRoleName;
-                        }
-                    }
-
-                    if (isLead || !isSkip)
-                    {
-                        //上级部门Id
-                        upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
-                        roleId = handleRoleCode;
-                        roleName = handleRoleName;
-                    }
-
-                    items = await _organizeRepository.Queryable()
-                        .Where(d => d.Id == upperOrgId)
-                        .Select(d => new FlowStepHandler
-                        {
-                            Key = d.Id,
-                            Value = d.Name,
-                            OrgId = d.Id,
-                            OrgName = d.Name,
-                            RoleId = roleId,
-                            RoleName = roleName
-                        })
-                        .ToListAsync(cancellationToken);
-                }
-
-                break;
-            case EDynamicPolicy.OrgUpLead:
+				orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
+				if (orgLevel < 0) orgLevel = 0;
+				isLead = _sessionContextProvider.SessionContext.Roles.Any(x => x == leadRoleCode);
+				isSkip = await _userRepository.Queryable().AnyAsync(x => x.OrgId == _sessionContextProvider.SessionContext.RequiredOrgId && x.Roles.Any(r => r.Name == leadRoleCode), cancellationToken);
+				if (orgLevel == 0 && (isLead || !isSkip))
+				{
+					businessType = EBusinessType.Send;
+					if (currentBusinessType == EBusinessType.Department)
+						flowDirection = EFlowDirection.OrgToCenter;
+
+					items = await _organizeRepository.Queryable()
+						.Where(d => d.IsCenter)
+						.Select(d => new FlowStepHandler
+						{
+							Key = d.Id,
+							Value = d.Name,
+							OrgId = d.Id,
+							OrgName = d.Name
+						})
+						.ToListAsync(cancellationToken);
+				}
+				else
+				{
+					businessType = EBusinessType.Department;
+					upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(_sessionContextProvider.SessionContext.OrgLevel);
+					if (!isLead)
+					{
+						if (isSkip)
+						{
+							roleId = leadRoleCode;
+							roleName = leadRoleName;
+						}
+					}
+					if (isLead || !isSkip)
+					{
+						//上级部门Id
+						upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
+						roleId = handleRoleCode;
+						roleName = handleRoleName;
+					}
+					else
+					{
+						orgLevel += 1;
+					}
+					items = await _organizeRepository.Queryable()
+						.Where(d => d.Id == upperOrgId)
+						.Select(d => new FlowStepHandler
+						{
+							Key = d.Id,
+							Value = d.Name,
+							OrgId = d.Id,
+							OrgName = d.Name,
+							RoleId = roleId,
+							RoleName = roleName
+						})
+						.ToListAsync(cancellationToken);
+				}
+
+				break;
+			case EDynamicPolicy.OrgUpLead:
                 businessType = _sessionContextProvider.SessionContext.OrgIsCenter
                     ? EBusinessType.Send
                     : _sessionContextProvider.SessionContext.RequiredOrgId.CalcOrgLevel() == 1
@@ -1395,8 +1393,12 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
                     roleId = handleRoleCode;
                     roleName = handleRoleName;
                 }
+                else
+                {
+	                orgLevel += 1;
+                }
 
-                items = await _organizeRepository.Queryable()
+				items = await _organizeRepository.Queryable()
                     .Where(d => d.Id == upperOrgId)
                     .Select(d => new FlowStepHandler
                     {

+ 5 - 5
src/XF.Domain/Extensions/StringExtensions.cs

@@ -32,14 +32,14 @@ namespace XF.Domain.Extensions
 
         public static string UpperFirstChar(this string str)
         {
-            if(string.IsNullOrEmpty(str))
+            if (string.IsNullOrEmpty(str))
                 throw new ArgumentNullException(nameof(str));
             var firstChar = str[0];
             if (char.IsUpper(firstChar))
                 return str;
             firstChar = char.ToUpper(firstChar);
             str = str.Remove(0, 1);
-            return str.Insert(0,firstChar.ToString());
+            return str.Insert(0, firstChar.ToString());
         }
 
         public static string ToPascalCase(this string str)
@@ -54,13 +54,13 @@ namespace XF.Domain.Extensions
             }
             return sb.ToString();
         }
-        
+
         public static int GetChineseCharLength(this string str)
         {
-            if (str.Length == 0)
+            if (string.IsNullOrEmpty(str) || str.Length == 0)
                 return 0;
             ASCIIEncoding ascii = new ASCIIEncoding();
-            int tempLen = 0; 
+            int tempLen = 0;
             byte[] s = ascii.GetBytes(str);
             for (int i = 0; i < s.Length; i++)
             {