diff --git a/GZ_LTHPilot_ORDER.csproj b/GZ_LTHPilot_ORDER.csproj
index b05ecd2..8475a6b 100644
--- a/GZ_LTHPilot_ORDER.csproj
+++ b/GZ_LTHPilot_ORDER.csproj
@@ -446,7 +446,6 @@
-
-
+ copy $(TargetPath) "D:\kingdee\K3Cloud\WebSite\Bin\$(TargetFileName)"
\ No newline at end of file
diff --git a/T_IV_SALESIC/ServicePlugIn/Submit.cs b/T_IV_SALESIC/ServicePlugIn/Submit.cs
index 765a471..16fbb11 100644
--- a/T_IV_SALESIC/ServicePlugIn/Submit.cs
+++ b/T_IV_SALESIC/ServicePlugIn/Submit.cs
@@ -41,21 +41,8 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
{
// 纸质合同号
var contractNo = group.Key;
-
- // 销售订单服务
- var saleOrderService = new SaleOrderService(this.Context);
- // TODO 根据组织和纸质合同号查找销售订单
- var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(orgId, contractNo);
- if (saleOrderList.Count == 0)
- {
- continue;
- }
-
- var saleOrder = saleOrderList[0];
- // 源纸质合同号
- var srcContractNo = saleOrder["F_SOURPAPERCONTRACT"].ToString();
- // 校验源单是否超额
- var srcVerifResult = ExcessVerification(orgId, srcContractNo, 0);
+ // 校验原单是否超额
+ var srcVerifResult = SrcExcessVerification(orgId, contractNo);
if (srcVerifResult != null)
{
//有错误信息
@@ -79,6 +66,42 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC.ServicePlugIn
}
}
}
+ ///
+ /// 校验源头单据是否超额
+ ///
+ ///
+ ///
+ ///
+ ///
+ private OperateResult SrcExcessVerification(string orgId, string contractNo)
+ {
+ // 销售订单服务
+ var saleOrderService = new SaleOrderService(this.Context);
+ // TODO 根据组织和纸质合同号查找销售订单
+ var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(orgId, contractNo);
+ if (saleOrderList.Count == 0)
+ {
+ return null;
+ }
+
+ var saleOrder = saleOrderList[0];
+ // 源纸质合同号
+ var srcContractNo = saleOrder["F_SOURPAPERCONTRACT"]?.ToString();
+ // 如果原纸质合同号为空,则认为是源头单
+ if (srcContractNo.IsNullOrEmptyOrWhiteSpace())
+ {
+ return null;
+ }
+ // 校验源单是否超额
+ var srcVerifResult = ExcessVerification(orgId, srcContractNo, 0);
+ if (srcVerifResult != null)
+ {
+ return srcVerifResult;
+ }
+ // 递归校验
+ return SrcExcessVerification(orgId, srcContractNo);
+ }
+
///
/// 超额校验,如果校验不通过会返回OperateResult实例,通过返回null